使用.on()方法绑定jQuery事件

3

有人可以解释一下为什么这个能够起作用吗:

parentBox.on('click', '.close', function() {
   parentBox.fadeOut();                  
   return false; 
 });

但这个不行:
var closeBox = $('.close');
parentBox.on('click', closeBox, function() {
   parentBox.fadeOut();
   return false; 
});

当将'.close'缓存到var中时,无论我在父元素的哪个位置点击,它都会淡出,就好像事件处理程序附加到parentBox而不是'.close'一样。
1个回答

4
这不起作用是因为:
.on( events [, selector] [, data], handler(eventObject) )

第二个参数始终是选择器(字符串类型),如果您需要绑定到特定对象,请使用

 closeBox.bind('click',function(){/* code here */})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接