右键单击带来firefox菜单,而不是执行jquery代码

时间:2016-05-11 14:11:03

标签: jquery datatable

我的问题:如果我右键单击Datatable中的TD,则会成功执行以下代码:

$('#mytable tbody tr td').mousedown(function(event){
if(event.which == 3)  //1 for mouseleft button, 2 for middle, 3 for right
{   console.log("Hello");}
});

但是,它只运行一次!然后,每次我再次执行右键单击时,我会得到一个上下文的Firefox菜单,而不是我的Jquery代码。

我尝试添加event.preventDefault(); event.stopPropagation();但它不起作用。也许我把它放在错误的地方。

oTable = $('#mytable').DataTable({
fnDrawCallback: function () {
event.stopPropagation();
event.stopImmediatePropagation();
};

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

嗨请检查https://jsfiddle.net/RRR0308/7hq1o31v/使用<div class="centered">center</div>代替return false

演示代码:

<强> HTML

stopPropogation()

<强> CSS

<div class="div1">

</div>

<div class="msg">

</div>

<强>的jQuery

.div1{
  height:200px;
  width:200px;
  background:blue;
  margin:50px;
}