implement pinch to zoom
This commit is contained in:
+2
@@ -0,0 +1,2 @@
|
||||
components
|
||||
build
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
|
||||
0.2.4 / 2016-04-01
|
||||
==================
|
||||
|
||||
* index: fall back to require('component-*') for node compat
|
||||
|
||||
0.2.3 / 2014-08-01
|
||||
==================
|
||||
|
||||
* component, package: use "component/closest"
|
||||
|
||||
0.2.2 / 2014-05-27
|
||||
==================
|
||||
|
||||
* add package.json file
|
||||
* component: beautify "keywords"
|
||||
|
||||
0.2.1 / 2013-10-02
|
||||
==================
|
||||
|
||||
* optimize closest
|
||||
|
||||
0.2.0 / 2013-09-30
|
||||
==================
|
||||
|
||||
* delegate child elements, closes #3
|
||||
* Fixed e.target for IE [anthonyshort]
|
||||
* Use `call()` to correctly assign `this` in handler [necolas]
|
||||
* remove weird dead code. Closes #4
|
||||
|
||||
0.1.0 / 2012-12-19
|
||||
==================
|
||||
|
||||
* add "event" dependency for x-browser
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
|
||||
build: components index.js
|
||||
@component build
|
||||
|
||||
components: component.json
|
||||
@component install --dev
|
||||
|
||||
clean:
|
||||
rm -fr build components
|
||||
|
||||
.PHONY: clean
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
|
||||
# delegate
|
||||
|
||||
Low-level event delegation component.
|
||||
|
||||
## Installation
|
||||
|
||||
$ component install component/delegate
|
||||
|
||||
## Example
|
||||
|
||||
```js
|
||||
var delegate = require('delegate');
|
||||
var ul = document.querySelector('ul');
|
||||
var n = 0;
|
||||
|
||||
var fn = delegate.bind(ul, 'li a', 'click', function(e){
|
||||
console.log(e.target);
|
||||
console.log(e.delegateTarget); // => "<a>"
|
||||
if (++n == 3) {
|
||||
console.log('unbind');
|
||||
delegate.unbind(ul, 'click', fn, false);
|
||||
}
|
||||
}, false);
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### .bind(el, selector, type, callback, [capture])
|
||||
|
||||
Bind and return a callback which may be passed to `.unbind()`.
|
||||
|
||||
### .unbind(el, type, callback, [capture])
|
||||
|
||||
Unbind.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"name": "delegate",
|
||||
"repo": "component/delegate",
|
||||
"description": "Event delegation component",
|
||||
"version": "0.2.4",
|
||||
"keywords": [
|
||||
"event",
|
||||
"events",
|
||||
"delegate",
|
||||
"delegation"
|
||||
],
|
||||
"dependencies": {
|
||||
"component/closest": "*",
|
||||
"component/event": "*"
|
||||
},
|
||||
"scripts": [
|
||||
"index.js"
|
||||
]
|
||||
}
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
try {
|
||||
var closest = require('closest');
|
||||
} catch(err) {
|
||||
var closest = require('component-closest');
|
||||
}
|
||||
|
||||
try {
|
||||
var event = require('event');
|
||||
} catch(err) {
|
||||
var event = require('component-event');
|
||||
}
|
||||
|
||||
/**
|
||||
* Delegate event `type` to `selector`
|
||||
* and invoke `fn(e)`. A callback function
|
||||
* is returned which may be passed to `.unbind()`.
|
||||
*
|
||||
* @param {Element} el
|
||||
* @param {String} selector
|
||||
* @param {String} type
|
||||
* @param {Function} fn
|
||||
* @param {Boolean} capture
|
||||
* @return {Function}
|
||||
* @api public
|
||||
*/
|
||||
|
||||
exports.bind = function(el, selector, type, fn, capture){
|
||||
return event.bind(el, type, function(e){
|
||||
var target = e.target || e.srcElement;
|
||||
e.delegateTarget = closest(target, selector, true, el);
|
||||
if (e.delegateTarget) fn.call(el, e);
|
||||
}, capture);
|
||||
};
|
||||
|
||||
/**
|
||||
* Unbind event `type`'s callback `fn`.
|
||||
*
|
||||
* @param {Element} el
|
||||
* @param {String} type
|
||||
* @param {Function} fn
|
||||
* @param {Boolean} capture
|
||||
* @api public
|
||||
*/
|
||||
|
||||
exports.unbind = function(el, type, fn, capture){
|
||||
event.unbind(el, type, fn, capture);
|
||||
};
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"name": "component-delegate",
|
||||
"description": "Event delegation component",
|
||||
"version": "0.2.4",
|
||||
"keywords": [
|
||||
"event",
|
||||
"events",
|
||||
"delegate",
|
||||
"delegation"
|
||||
],
|
||||
"dependencies": {
|
||||
"component-closest": "*",
|
||||
"component-event": "*"
|
||||
},
|
||||
"browser": {
|
||||
"closest": "component-closest",
|
||||
"event": "component-event"
|
||||
},
|
||||
"component": {
|
||||
"scripts": {
|
||||
"delegate/index.js": "index.js"
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/component/delegate.git"
|
||||
}
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Event</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li><a href="#">One</a></li>
|
||||
<li><a href="#">Two</a></li>
|
||||
<li><a href="#">Three</a></li>
|
||||
</ul>
|
||||
|
||||
<ul id="list-two">
|
||||
<li><a href="#">One</a></li>
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li><span>one</span></li>
|
||||
</ul>
|
||||
|
||||
<button>Button</button>
|
||||
|
||||
<script src="../build/build.js"></script>
|
||||
|
||||
<script>
|
||||
var delegate = require('delegate');
|
||||
var uls = document.querySelectorAll('ul');
|
||||
var n = 0;
|
||||
|
||||
var fn = delegate.bind(uls[0], 'li a', 'click', function(e){
|
||||
console.log(e.target);
|
||||
if (++n >= 3) {
|
||||
console.log('unbind');
|
||||
delegate.unbind(uls[0], 'click', fn, false);
|
||||
}
|
||||
}, false);
|
||||
|
||||
var fn2 = delegate.bind(uls[1], 'li a', 'click', function(e){
|
||||
console.log(e.target);
|
||||
if (++n >= 8) {
|
||||
console.log('unbind');
|
||||
delegate.unbind(uls[1], 'click', fn2, false);
|
||||
}
|
||||
}, false);
|
||||
|
||||
var fn3 = delegate.bind(uls[2], 'li', 'click', function(e){
|
||||
console.log(e.target);
|
||||
if (++n >= 8) {
|
||||
console.log('unbind');
|
||||
delegate.unbind(uls[2], 'click', fn2, false);
|
||||
}
|
||||
}, false);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user