mousedown事件并不总是正确触发

时间:2017-09-28 17:38:58

标签: javascript jquery

我的页面中有以下javascript:

$("#attach-body").mousedown(function (event) {
//alert(event.button);
switch (event.button) {
    case 2:
        event.preventDefault();
        event.stopPropagation();
        break;
    default:
}

如果我取消注释警报,它可以正常工作,但如果我不知道该事件没有触发。我试图禁用模式表单上的右键单击("#attach-body")。有人知道更好的方法,所以我不必提供不必要的警报吗?

2 个答案:

答案 0 :(得分:0)

您还可以使用contextmenu事件(摇摇欲坠的支持)

$(function(){
  $('#dont-click').on('contextmenu', function(event){
    event.preventDefault();
  })
});

答案 1 :(得分:0)

    $(document).on('contextmenu', '#attach-body', function (event) {
        event.preventDefault();
    });

试试这个。

  1. 始终使用" on" - 它比短缺更灵活
  2. 禁用鼠标右键上下文菜单是一个坏主意......
  3. 如果您将第一个目标设置为文档,即使它是在页面生命周期内生成的,也可以在元素上触发事件(即使之后的目标元素是通过js或ajax生成的)