直接绑定ul的click事件
| 代码如下 | 复制代码 |
|
$("ul").click(function(e) |
|
例子
| 代码如下 | 复制代码 |
|
$(function(){ |
|
例如,假如我们要开发 动态添加文本框 每添加一个文本框就有一个a标签用来取消文本框。像这样的帮定是效率低下的:
| 代码如下 | 复制代码 |
|
$('#myList a).bind('click', function(){ |
|
反而,我们应该在父级侦听click事件。
| 代码如下 | 复制代码 |
|
$('#myList).bind('click', function(e){ |
|
父节点担当着发报机的工作,可以在触发了事件的目标element上做一些工作
Example 5.10. 使用$.fn.delegate委托事件
| 代码如下 | 复制代码 |
|
$('#myUnorderedList').delegate('li', 'click', function(e) { |
|
Example 5.11. 使用$.fn.live委托事件
| 代码如下 | 复制代码 |
|
$('#myUnorderedList li').live('click', function(e) { |
|
解除委托事件绑定
如果你需要移除已委托的事件,你不能只是简单地解除绑定。 对使用$.fn.delegate绑定的事件使用$.fn.undelegate解除绑定, 对使用$.fn.live绑定的事件使用$.fn.die解除绑定。 跟绑定类似,你可以选择性地传入绑定函数的名字来解除绑定。
| 代码如下 | 复制代码 |
|
$('#myUnorderedList').undelegate('li', 'click'); |
|