不推荐使用getPreventDefault()。请改用defaultPrevented。为什么我会收到此错误,解决方案是什么?

时间:2014-10-03 10:27:22

标签: jquery migration 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>

但我仍然收到此错误。我该如何解决这个问题?

由于此错误,我的其他jQuery功能也无效。

我研究了很多关于解决方案但每次我都得到了相同的升级jQuery版本的解决方案。但这对我来说也不起作用。

7 个答案:

答案 0 :(得分:7)

尝试:

event.originalEvent.defaultPrevented

如:

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

答案 1 :(得分:5)

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

this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y

如果您将其更改为:

this.isDefaultPrevented=e.defaultPrevented?U:Y

警告停止。

答案 2 :(得分:4)

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

event.defaultPrevented;

根本不起作用,而是原来的

event.getPreventDefault();

仍然按预期工作,但确实在Firebug上发出警告。我想有人希望每个人最终升级到jQuery 2.x.这不应该是一个致命的或严重的错误,只是一个警告,并在这种情况下,替换功能不适用于jQuery 1.x然后它适合于考虑到这一点,但不会对此警告采取行动。

答案 3 :(得分:1)

我遇到了同样的问题并使用了Firefox的开发工具,我意识到我错误地评论了一些内容,忘记了</script>。有时它是愚蠢的小事。

答案 4 :(得分:0)

我建议你在本地使用该文件。 然后,如果问题仍然存在,请打开您的jquery文件并搜索“getPreventDefault”并替换为“defaultPrevented”。

答案 5 :(得分:0)

请检查jquery.min.js是否包含两次。如果是,则尝试忽略本地文件,以便获得最新文件。 实际上我在myside上得到了相同的msg所以通过调试我发现有两次包括jquery库。 希望这对你有用。

答案 6 :(得分:0)

https://code.jquery.com/jquery-1.7.1.min.js

中有HANDLE hMap; if (0 <= ZwOpenSection(&hMap, SECTION_QUERY, &oa)) { SECTION_BASIC_INFORMATION sbi; if (0 <= ZwQuerySection(hMap, SectionBasicInformation, &sbi, sizeof(sbi), 0)) { DbgPrint("section size = %I64x\n", sbi.Size.QuadPart); } CloseHandle(hMap); }

所有版本https://code.jquery.com/jquery/

的列表

getPreventDefault仍然在1.8.31.9.11.10.21.11.0

它终于进入1.11.1,其中1.11.3是最新版本。