|
<!DOCTYPE HTML> |
|
<html lang="en-US"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<title></title> |
|
</head> |
|
<body> |
|
|
|
<ul id="ul" class="a"> |
|
<li> |
|
<section class="a"> |
|
<div class="a"> |
|
<button><span>span <i class="a">i.a</i> </span> text</button> |
|
</div> |
|
</section> |
|
</li> |
|
<li> |
|
<section class="a"> |
|
<div class="a"> |
|
<button><span>span <i class="a">i.a</i> </span> text</button> |
|
</div> |
|
</section> |
|
</li> |
|
<li> |
|
<section class="a"> |
|
<div class="a"> |
|
<button><span>span <i class="a">i.a</i> </span> text</button> |
|
</div> |
|
</section> |
|
</li> |
|
</ul> |
|
|
|
<script src="../closure-library/closure/goog/base.js"></script> |
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.2/jquery.js"></script> |
|
<script src="delegate.js"></script> |
|
<script> |
|
goog.require('goog.events') |
|
</script> |
|
|
|
<script> |
|
// goog.events.listen(ul, 'click', function(e) { |
|
// console.info('listen', e, this, e.target, e.currentTarget); |
|
// }) |
|
|
|
var listener = function(e) { |
|
console.info('delegate', e, this, e.target, e.currentTarget); |
|
} |
|
|
|
delegate(ul, 'click', '.a', listener) |
|
delegate(ul, 'click', '.a', listener) |
|
// delegate(ul, 'click', 'span', listener) |
|
// delegate(ul, 'click', 'section', listener, false, {}) |
|
|
|
// undelegate(ul, 'click', '.a', listener) |
|
|
|
$(ul) |
|
.on('click', '.a', function(e) { |
|
console.info('jQuery', this, e.target, e.currentTarget); |
|
}) |
|
.on('click', '.a', function(e) { |
|
console.info('jQuery', this, e.target, e.currentTarget); |
|
}) |
|
</script> |
|
|
|
</body> |
|
</html> |