我正在使用一个平台生成带有缩小的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/