http://api.jquery.com/on/上的jQuery文档使用以下语法(仅将事件处理程序附加到一个元素)提及委托事件的好处:
$('#mytable').on('click','tr.hoverable',function(){ // blah });
但我找不到任何关于使用委托事件一次附加多个事件的正确语法的引用.是否有以下快捷方式,但tr.hoverable作为委托事件?
$('#mytable tr.hoverable').on({ mouseenter: function(){ // blah },mouseleave: function(){ // blah },click: function(){ // blah } });
或者这是唯一的解决方案……
$('#mytable').on('click',function(){ // blah }).on('mouseenter',function(){ // blah }).on('mouseleave',function(){ // blah });
?
解决方法
$('#mytable').on({ mouseenter: function(){ // blah },click: function(){ // blah } },'.hoverable');
.on( events-map [,selector] [,data] )
此外,在优化时,更喜欢使用单个tagName / className / id选择器进行委派