【问题标题】:Drupal 7 module not loading JavaScript codeDrupal 7 模块不加载 JavaScript 代码
【发布时间】:2012-10-17 10:32:43
【问题描述】:

我正在尝试为我的模块加载一个 JavaScript 文件。 javascript 代码应该执行并动态应用一些 CSS 样式。

但是,我的 jQuery 没有任何效果。普通的原生 JavaScript 代码有效,但我的 jQuery 代码无效。

我正在使用以下代码加载我的 JavaScript:

drupal_add_js(drupal_get_path('module', 'my_module') .'/js/mycode.js', 'file');

我在任何函数之外应用此代码,但当$view_mode 已满时将其加载到hook_node_view

以下是我的javascript:

(function ($) {

    alert('RESPONDING!');

    $('#page').css('background', 'red')

    alert('RESPONDING-2!');


    jQuery('body').click(
        function () {
            alert('clicked!');
        }
    );

})(jQuery);

$/jQuery 标记无效,但两个警报语句都有效。

【问题讨论】:

  • $('#page') 指的是什么?确保 $('#page') 是一个有效的 html 元素
  • div#page 是一个有效的元素。我实际上将相同的代码粘贴到 Chrome 的控制台中,它按预期工作
  • 在您尝试访问时是否可用?
  • 这就是我有点不确定的地方。没有真正的原因为什么它不可用,但以防万一,我使用了 hook_node_view 并且仅在页面完全加载时才加载 js
  • 您可以轻松测试它,只需在访问之前将 $('#page') 记录到控制台

标签: javascript jquery drupal-7


【解决方案1】:

@Thariama:

感谢您的所有意见和想法。

您对 console.log($('#page')) 的建议很有启发性。当输出完全为空时,我意识到出现了严重错误。这让我思考,我决定尝试将代码重新定位到“页面底部”。

修改后的代码如下:

drupal_add_js(drupal_get_path('module', 'my_module') .'/js/mycode.js', array('type' => 'file', 'scope' => 'footer'));

我的 $/jQuery 标记代码现在可以执行了。

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-22
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 2014-02-23
    相关资源
    最近更新 更多