我正在使用一个平台生成带有缩小的js文件的页面(Madcap Flare),并且需要向click事件添加一些代码。我尝试了以下方法:

$('body').on('click', 'a', function(e) {
  alert( 11111111111 );
    })


它在某些地方触发,但不在我需要的地方触发,让我觉得在某个地方有preventDefault()指令。

有什么解决方法吗?

我读过有关event.isDefaultPrevented()的文章,但是有可能使该函数在触发函数之外工作吗?我的意思是,如果您在触发器内,则不会被阻止,如果被阻止,您将如何满足isDefaultPrevented()指令?

最佳答案

...如果您在触发器内部,则不会阻止它,如果被阻止,则如何满足isDefaultPrevented()指令?


您可能要在另一个事件绑定函数中使用它:

// Your original code
$('body').on('click', 'a', function(e) {
  alert( 11111111111 );
    })

// Somewhere else in your code
$('body').on('click', 'a.some-class', function(e) {
  if(e.isDefaultPrevented()){
    console.log('Yeap, some other function has called e.preventDefault()');
  }
});





  有什么解决方法吗?


是的,触发一个新事件。您可能要创建一个new event object来做到这一点。

关于javascript - 避开jQuery中的event.preventDefault(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36917853/

10-09 18:18