使用 Firefox* 时,将事件单击与实时功能结合使用会导致奇怪的行为。
在 Firefox 中,右键单击时也会触发单击! Internet Explorer 7 和 Google Chrome 中都不会发生同样的情况。
Example:
-
没有直播 http://docs.jquery.com/Events/click,转到演示并尝试右键单击
的段落。对话框菜单应该
出现。
-
与直播 http://docs.jquery.com/Events/live,去demo试试吧
点击“点击我!”。现在两个对话框
出现菜单和“另一段落”。
*使用 Firefox 3.5.3 测试
据我所知,这是一个已知问题(错误?)。您可以通过测试单击了哪个按钮来轻松解决此问题,如下所示:
$('a.foo').live("click", function(e) {
if (e.button == 0) { // 0 = left, 1 = middle, 2 = right
//left button was clicked
} else {
//other button was clicked (do nothing?)
//return false or e.preventDefault()
}
});
你可能更喜欢使用switch
取决于您的具体要求,但通常,如果单击左按钮以外的任何按钮,您可能只想什么都不做(或者只是返回),如上所述:
$('a.foo').live("click", function(e) {
switch(e.button) {
case 0 : alert('Left button was clicked');break;
default: return false;
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)