【问题标题】:Wordpress JQuery Conflict (theme and plugin)Wordpress JQuery 冲突(主题和插件)
【发布时间】:2017-03-23 13:13:57
【问题描述】:

我正在开发的一个 wordpress 网站使用 QTip 工具提示功能引发错误。我使用的主题称为 Eventum,工具提示包含在 Event Espresso 插件的日历中。使用默认的 WP 主题,日历可以正常工作,但使用 Eventum 主题时会出现以下错误:

Uncaught TypeError: (intermediate value)(intermediate value)(intermediate value).done is not a function
at QTip.PROTOTYPE._waitForContent (jquery.qtip.js?ver=2.2.0:633)
at QTip.PROTOTYPE._update (jquery.qtip.js?ver=2.2.0:618)
at QTip.PROTOTYPE._updateTitle (jquery.qtip.js?ver=2.2.0:642)
at QTip.PROTOTYPE.render (jquery.qtip.js?ver=2.2.0:187)
at QTip.<anonymous> (jquery.qtip.js?ver=2.2.0:1501)
at d (jquery.js?ver=1.12.4:2)

主题将 wp_enqueue_script 用于 JQuery 功能,除此之外,我看不出它为什么不起作用。从 qtip.js 文件中中断的函数是:

PROTOTYPE._waitForContent = function(element) {
var cache = this.cache;

// Set flag
cache.waiting = TRUE;

// If imagesLoaded is included, ensure images have loaded and return promise
return ( $.fn.imagesLoaded ? element.imagesLoaded() : $.Deferred().resolve([]) )
    .done(function() { cache.waiting = FALSE; })
    .promise();  };

任何想法如何解决错误?

【问题讨论】:

    标签: javascript php jquery wordpress


    【解决方案1】:

    我认为在 Worpress 中您不能直接使用 $。不知道他们为什么不添加,而是尝试使用 jQuery 而不是 $

    更新

    好的,我认为问题仍然在于 javascript。查看您的主题中是否定义了 $.fn.imagesLoaded 和 $.Deferred 。看起来一个或另一个没有定义并且没有返回一个 promise() 所以 undefined.done() 抛出一个错误。如果定义了 imagesLoaded() ,那么我认为它不应该抛出那个错误。很可能它没有定义,所以它属于 $.Deferred() 函数,该函数也是未定义的。您可能需要先获取 imagesLoaded 函数并包含该脚本。哪个最有可能解决您的问题

    http://imagesloaded.desandro.com/

    https://api.jquery.com/jquery.deferred/

    【讨论】:

    • QTip.js 文件适用于另一个主题 - 主题中的某处存在冲突,但我不确定如何解决它。如何将此线程的主题切换到wordpress?它与 WP 的关系比我认为的 JS 更重要(显然两者都有)。
    • 感谢您的回复!我相信定义了 bose imagesLoaded 和 Deferred,但我不是 100% 确定 - 我为各种 JS/JQuery 函数声明运行了一个 grep,我想我找到了这两个函数(函数有几个不同的声明/修改)。 QTip 函数使用默认的 wordpress 主题工作,该主题没有声明任何一个函数 - 声明位于 wordpress 插件(Event Espresso)中,而不是主题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    相关资源
    最近更新 更多