Jquery event.preventDefault();触发器何时为父div not link?

Jquery event.preventDefault();触发器何时为父div not link?,jquery,Jquery,我有一个div作为jQuery的触发器。div包含一个链接。有时单击div也意味着单击链接,我需要停止链接的行为 我相信这可以通过event.preventDefault()实现;但以下内容在IE8中不起作用。我假设这是因为触发器是一个父div而不是实际的链接,但是我该如何修复它呢?谢谢 $('div#myDiv').click(function(){ event.preventDefault(); //other js here }); <div id="myDiv"

我有一个div作为jQuery的触发器。div包含一个链接。有时单击div也意味着单击链接,我需要停止链接的行为

我相信这可以通过event.preventDefault()实现;但以下内容在IE8中不起作用。我假设这是因为触发器是一个父div而不是实际的链接,但是我该如何修复它呢?谢谢

$('div#myDiv').click(function(){
    event.preventDefault();
    //other js here
});


<div id="myDiv">
   <a href="#">Link</a>
</div>
$('div#myDiv')。单击(函数(){
event.preventDefault();
//其他js在这里
});

您没有定义参数:

$('div#myDiv').click(function(e){
    e.preventDefault();
    //other js here
});
.preventDefault
是jQuery事件对象中的jQuery填充程序。它不存在于IE事件对象中

Chrome和IE定义了一个全局
事件
对象,该对象在这些浏览器中引用本机事件对象。因此,请始终使用
e
ev
evt
等,以免意外引用此全局事件对象,因为它不会得到jQuery错误修复和规范化


文档:

您没有定义参数:

$('div#myDiv').click(function(e){
    e.preventDefault();
    //other js here
});
.preventDefault
是jQuery事件对象中的jQuery填充程序。它不存在于IE事件对象中

Chrome和IE定义了一个全局
事件
对象,该对象在这些浏览器中引用本机事件对象。因此,请始终使用
e
ev
evt
等,以免意外引用此全局事件对象,因为它不会得到jQuery错误修复和规范化


文档:

一个简单的解决方案可能是删除锚标记上的
href
属性。虽然我不建议这样做,但这是一个快速的解决方案。

一个简单的解决方案可能是删除锚标记上的
href
属性。虽然我不建议这样做,但这是一个快速的解决方案。

那么您认为添加
e
作为参数会有帮助吗?是的。默认操作仅在事件完全通过其传播路径且未被阻止后才执行。因此,您认为添加
e
作为参数会有帮助吗?是的。默认操作仅在事件完全通过其传播路径且未被阻止后执行。