【问题标题】:How to write $.fn.functionName = (function() { in jQuery 3如何在 jQuery 3 中编写 $.fn.functionName = (function() {
【发布时间】:2018-05-03 14:46:17
【问题描述】:

我有很多功能,例如:$.fn.functionName = (function() {

我给他们打电话:$(this).functionName();

这在 jQuery 3 中已被弃用,我如何重写函数定义以使其正常工作(就像以前一样)。

您知道能够(自动)替换已弃用的 jQuery sintax 的库吗?有 jquery 迁移工具:https://blog.jquery.com/2016/05/19/jquery-migrate-1-4-1-released-and-the-path-to-jquery-3-0/,但对我帮助不大。

谢谢。

编辑

来自 jQuery 3 迁移工具的示例日志:

JQMIGRATE: jQuery.fn.focus() event shorthand is deprecated

console.trace()

migrateWarn
jQuery.fn[name]
$.fn.functionName/this.initData
$.fn.functionName
<anonymous>
_onReady
$.obj

【问题讨论】:

  • 如果您能提供对创建 jQuery 附加函数的“弃用”的参考,将会有所帮助。
  • 如上 - 为什么您认为这种格式已被弃用?
  • 用你的非工作代码的一个小例子来更新你的问题可能会更好。见minimal reproducible example
  • 不推荐使用的不是$.fn.xxx,而是您在其中使用的东西。如果无法提供代码,请将所有代码注释掉并逐行添加回来以显示问题。
  • 你是对的,我将删除问题。我的问题是完全错误的。很抱歉浪费您的时间,感谢您的回答。还有另一个不推荐使用的功能。谢谢。

标签: javascript jquery jquery-plugins


【解决方案1】:

你需要按照这个https://github.com/mervick/emojionearea/issues/217替换jQuery.fn.blur() to jQuery.fn.trigger('blur')jQuery.fn.focus() to jQuery.fn.trigger('focus')

【讨论】:

  • 很好的答案,谢谢。这将解决我网站上的其他问题。但当前的问题是我在“livequery”事件上调用该函数。这是一个旧代码..
【解决方案2】:

我使用的是“livequery” (https://plugins.jquery.com/livequery/),在其中我调用了 $.fn.functionName。

我知道,这是一个旧代码,但这就是问题所在。正如freedomn-m 在评论中所说, $.fn.xxx 没有被弃用。我希望这对其他人也有帮助。

【讨论】:

    猜你喜欢
    • 2011-05-30
    • 2019-09-27
    • 2011-02-20
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多