多个事件处理程序绑定到元素时的优先级

当一个元素绑定了多个事件处理程序时,如何确定首先触发哪个事件处理程序

<脚本>
$(函数(){
$(“.li”)。查找('input')。单击(函数(){alert('li>input');});
$(“.li”)。单击(函数(){alert('li');});
$('input')。单击(函数(){alert('input');});
});
&lt/脚本>
&lt/头>
<车身>
<ul>
<li class=“li”&gt&书信电报;输入类型=“复选框”/&gt&书信电报;span>你好&lt/span&gt&lt/李>
<li class=“li”&gt&书信电报;输入类型=“复选框”/&gt&书信电报;span>你好&lt/span&gt&lt/李>
<li class=“li”&gt&书信电报;输入类型=“复选框”/&gt&书信电报;span>你好&lt/span&gt&lt/李>
&lt/ul>
&lt/车身>

我想指出的是,“先到先得”规则并不总是正确的,它还取决于你如何注册一名处理人:

Handler1-$(文档)。在('click','a',function…)
Handler2-$('a')。在('click',function…)

在上面的示例中,处理程序2总是在handler1之前调用

看看这把小提琴:http://jsfiddle.net/MFec6/

发表评论