不推荐使用getPreventDefault().请改用defaultPrevented.为什么我得到这个错误,它的解决方案是什么?

PHP*_*ver 27 migration jquery deprecated preventdefault

以前我在我的代码中使用jQuery 1.7.1.我收到了上述错误.然后我直接从谷歌存储库使用jQuery 1.11.1

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js">
</script>
Run Code Online (Sandbox Code Playgroud)

但我仍然得到这个错误.我该如何解决这个问题?

由于此错误,我的其他jQuery功能也无法正常工作.

我研究了很多关于解决方案但是每次我都得到相同的升级jQuery版本的解决方案.但这也不适合我.

cut*_*uth 7

尝试:

event.originalEvent.defaultPrevented
Run Code Online (Sandbox Code Playgroud)

如:

$(document).on('click', function (e) {
    if (e.originalEvent.defaultPrevented) return;
    // continue
});
Run Code Online (Sandbox Code Playgroud)


小智 5

使用jQuery时,我使用Firefox 2.8进行PHPStorm调试时出现此错误,目前是jquery-2.0.2.min.在检查文件时,它包含以下语句:

this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y
Run Code Online (Sandbox Code Playgroud)

如果你改成这个:

this.isDefaultPrevented=e.defaultPrevented?U:Y
Run Code Online (Sandbox Code Playgroud)

警告停止了.


Mar*_*tin 4

我也遇到过这个问题,并发现使用 jQuery 1.x 可以替代

event.defaultPrevented;
Run Code Online (Sandbox Code Playgroud)

根本不起作用,但原来的

event.getPreventDefault();
Run Code Online (Sandbox Code Playgroud)

仍然按预期工作,但确实对 Firebug 发出警告。我猜有人希望每个人最终都升级到 jQuery 2.x。这对您来说不应该是致命或严重错误,而只是一个警告,在这种情况下,替换功能在 jQuery 1.x 上不起作用,那么最好记住这一点,但不要根据此警告采取行动。