jQuery的奇怪行为

时间:2013-09-23 09:27:08

标签: jquery

我将一个事件附加到element容器中类名为main的所有元素,如下所示

$('#main').delegate('.element','click', function(){
     console.log($(this).html());
});

但问题是在Windows Chrome浏览器中双击时会触发click事件,而在Mac中只需单击即可触发。

浏览器:Google Chrome 操作系统测试:Windows8和Mac jQuery版本:jQuery 1.10.2

2 个答案:

答案 0 :(得分:1)

来自.delegate()文档:

  

从jQuery 1.7开始,.delegate()已被.on()方法取代。但是,对于早期版本,它仍然是使用事件委派的最有效方法。有关事件绑定和委派的更多信息,请参见.on()方法。通常,这些是两种方法的等效模板:

尝试使用.on()

$('#main').on('click','.element', function(){
     console.log($(this).html());
});

答案 1 :(得分:0)

试试这个:

$(document).delegate('.element','click', function(){
     console.log($(this).html());
});

代替

$('#main').delegate('.element','click', function(){
     console.log($(this).html());
});

希望它会有所帮助