我在Firefox中面临一个奇怪的问题。 stopPropagation()不能在我的代码中右键单击firefox,但是如果我在代码之前使用警报或断点它将起作用。它运作顺畅,即safari,chrome,opera我的代码如下:
jquery的
$("#div-login").click(function (e) {
e.stopPropagation();
});
然后这个
$("#div-login").mousedown(function (e) {
e.stopPropagation();
});
这也是
$("#div-login").click(function (e) {
if(e.button ===2)
e.stopPropagation();
});
标记
<div="div-login">
<fieldset>
---markup----
</fieldset>
</div>
但上面的代码都不适用于在Firefox中右键单击但是没有问题左键单击
我无法找到问题,请帮助......
答案 0 :(得分:1)
尝试contextmenu,例如:
$('#div-login').on("contextmenu",function(e){
e.stopPropagation();
});
或
$('#div-login').on("click",function(e){
if(e.which == 3) { //right click
e.stopPropagation();
}
});
答案 1 :(得分:0)
我认为你需要的是contextmenu事件
$("#div-login").on('contextmenu',function (e) {
e.stopPropagation();
});
演示:Fiddle
另见:Can't use jquery's click event handler to detect right click
答案 2 :(得分:0)
<强> HTML 强>
<div id="box">
<div id="div-login"></div>
</div>
<强> 的jQuery 强>
$('#div-login').on('mousedown', function (e) {
if(e.button == 2 ) e.stopPropagation();
});
$('#box').on('mousedown', function () {
alert('Right');
});
在FF和Chrome中正常使用