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'.

谢谢。

4

1 回答 1

4

这不起作用,因为

.on( events [, selector] [, data], handler(eventObject) )

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

 closeBox.bind('click',function(){/* code here */})
于 2012-12-23T10:21:48.490 回答