【问题标题】:Why did this Javascript file stop working (in Wordpress)?为什么这个 Javascript 文件停止工作(在 Wordpress 中)?
【发布时间】:2023-03-14 20:04:01
【问题描述】:

我有这个小功能可以在启动时重新加载 Bootstrap 选项卡中的同位素布局(取自 this question

jQuery(document).ready(function($){
    $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
    alert("Somethings happening");
    $('.b5-file-manager.b5-list').isotope('layout');
    });
});

最初这个解决方案对我不起作用,但在使用了几个不同的选择器来缩小我的目标范围(并尝试确保没有发生任何有趣的事情)之后,这个解决方案开始起作用了。我删除了警报,因为我的脚本现在正在运行,但随后 layout 停止触发。

这是在 WordPress 子主题中使用的,但在子主题 functions.php 中正确排入队列,并且在页面中加载正常。我认为这可能与脚本在工作时加载有关。我在这里有一个示例页面in my test build(对不起,我知道这不是很好的做法,但它是查看它的最佳位置)

感谢您的帮助。

【问题讨论】:

  • 浏览器控制台有错误吗?

标签: javascript jquery wordpress twitter-bootstrap jquery-isotope


【解决方案1】:

$ 可能有一些错误。

用 IIFE 语法包装你的代码:

(function($){
    //put all code here
})(jQuery);

【讨论】:

  • 谢谢,这行得通。我刚刚快速阅读了 IIFE,但我不清楚它是如何产生影响的。你能快速概述一下吗? (对不起,我不是程序员!)
  • 那是为特定的人创建一个范围来运行它。它更像是一个安全的容器,可以保存不同的汽车以与全球汽车发生碰撞。
【解决方案2】:

标签周围的引号可能会导致问题。试试这个:

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多