【问题标题】:Use of getPreventDefault() is deprecated. Use defaultPrevented instead. Why I'm getting this error and what's the solution for it?不推荐使用 getPreventDefault()。请改用 defaultPrevented。为什么我会收到此错误,解决方法是什么?
【发布时间】:2014-10-03 10:27:21
【问题描述】:

以前我在我的代码中使用 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 版本的解决方案。但这也不适合我。

【问题讨论】:

  • 抛出错误的代码在哪里?
  • @Regent:在 firebug 的控制台中没有显示代码。它只给出这个错误/警告。它显示文件名,但不包含任何这样的代码行。这就是为什么我对这个问题知之甚少。
  • 是警告还是错误?它显示什么文件名?
  • @Regent:当前在浏览器中打开的文件说xyz.php
  • jquery-1.11.1.min.js 中没有getPreventDefault()。所以问题出在您的浏览器中(看起来 Firefox 24.0 有这样的错误)或在您的代码中(如果您使用 getPreventDefault() 或者如果您包含使用它的库)。

标签: jquery migration deprecated preventdefault


【解决方案1】:

试试:

event.originalEvent.defaultPrevented

如:

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

【讨论】:

    【解决方案2】:

    我在使用 jQuery(当前为 jquery-2.0.2.min)时使用 Firefox 2.8 调试 PHPStorm 时遇到此错误。 在检查文件时,它包含以下语句:

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

    如果您将其更改为:

    this.isDefaultPrevented=e.defaultPrevented?U:Y
    

    警告停止。

    【讨论】:

      【解决方案3】:

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

      event.defaultPrevented;
      

      根本不行,但是原来的

      event.getPreventDefault();
      

      仍然可以按预期工作,但会在 Firebug 上发出警告。我猜某个地方的某个人希望每个人最终都升级到 jQuery 2.x。这对你来说不应该是一个致命或严重的错误,只是一个警告,在这种情况下,替换功能在 jQuery 1.x 上不起作用,那么记住这一点是合适的,但不要对这个警告采取行动。

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题,使用 Firefox 的开发工具时,我意识到我匆忙中错误地注释了某些内容,也忘记了注释掉 &lt;/script&gt;。有时是愚蠢的小事。

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              【解决方案7】:

              https://code.jquery.com/jquery-1.7.1.min.js中有getPreventDefault

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

              getPreventDefault仍在1.8.31.9.11.10.21.11.0

              它终于在1.11.1 中消失了,其中1.11.3 是最新版本。

              【讨论】:

                猜你喜欢
                • 2013-10-11
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-08-01
                • 1970-01-01
                • 2018-06-22
                • 2016-01-01
                相关资源
                最近更新 更多