在jQuery中了解event.preventDefault()

时间:2016-04-28 14:35:45

标签: javascript jquery events

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

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

它会在某些地方触发,但不会在我需要的地方触发,让我想到某处有preventDefault()指令。

有没有办法绕过它?

我读过event.isDefaultPrevented(),但是有可能让该函数在触发函数之外工作吗?我的意思是如果你在触发器内,那么它没有被阻止,如果它被阻止,你如何满足isDefaultPrevented()指令?

1 个答案:

答案 0 :(得分:2)

  

...如果你在触发器内,那么它没有被阻止,如果它被阻止,你如何满足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()');
  }
});
  

有没有办法绕过它?

Yeap,触发一个新事件。您可能需要创建一个enter image description here来执行此操作。