【发布时间】:2013-08-14 09:48:29
【问题描述】:
JSfiddlejsfiddle
我想在每个名称间隔事件上使用event delegation 这个概念。 Appernetly 它比.big-ul li 更优化。不幸的是,在使用命名空间或尝试使用普通对象同时附加多个事件处理程序时,我找不到合适的语法来使其工作?
$(".big-ul").on({
"click.namespace", "li": function(event){
$(this).toggleClass("active");
},
"mouseenter.namespace" , "li": function(event){
$(this).addClass("inside");
},
"mouseleave.namespace", "li": function(event){
$(this).removeClass("inside");
}
});
来自 jquery 站点的事件委托示例
$("#dataTable tbody").on("click", "tr", function(event){
alert($(this).text());
});
【问题讨论】:
-
+1 甚至尝试这样 :) 你有这个 JSFiddle 吗?
-
您已将事件分配给选择器(即“li”)而不是事件类型。与多事件示例相比,这看起来是错误的。
-
我知道 li 是错的 .. 想知道如何使它正确,哈哈
-
添加了一个带有答案的 JSFiddle,以便您可以使用选项,但基本上不要为了轻微/可忽略的速度改进而使您的代码过于复杂。吻。是要走的路。
-
我没有看到 jsfiddles 链接...我完全理解 KISS 的心态,但学习这些东西通常会提高我对 jquery/javascript 的结构和整体理解(看到我还是个新手)我只是想看看限制。更多的是练习而不是实际使用。
标签: javascript jquery events event-bubbling