jQuery绑定多次激活?
$(".container").on("contextmenu", ".photos-bottom .albums li", function(e) { $('html').bind('click', function (event) { alert(id); }); return false; });
当我右键单击(对于contextmenu)多次,然后左键单击html一次,它会触发警报我右键单击的次数。
因此,如果我右键单击一次,然后左键单击,它会显示一次弹出窗口。 如果我右键单击三次,然后左键单击,它会弹出三次弹出窗口。
为什么会这样?
$('html').unbind('click').bind('click')
修复它。
因为每次发生上下文菜单事件时都会绑定click事件,所以每次右键单击时实际上都会添加一个额外的绑定。 这是事件执行次数不断增加的原因。
你应该:
a)在上下文菜单关闭时取消绑定事件,或
b)将click事件绑定到contextmenu回调函数之外。