implement pinch to zoom

This commit is contained in:
marlon-erler
2026-08-30 16:15:14 +02:00
parent ea50704f8a
commit 7eb02f07dc
160 changed files with 15806 additions and 61 deletions
+2
View File
@@ -0,0 +1,2 @@
components
build
+34
View File
@@ -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
View File
@@ -0,0 +1,11 @@
build: components index.js
@component build
components: component.json
@component install --dev
clean:
rm -fr build components
.PHONY: clean
+39
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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>