繁体   English   中英

在Drupal 7上完成DOM之前的JQuery脚本加载

[英]JQuery script loading before DOM is completed on Drupal 7

我认为这是我遇到的问题。 我一直在JQuery在DOM中寻找的类或ID上遇到“未捕获的TypeError:未定义不是函数”错误。 我正在尝试使Add2Any菜单的顶部div / title关闭菜单。 我确定我的点击功能还有其他问题,但是我认为我的问题就在于我需要定位的ID(#a2apage_DEFAULT)之内。 我试过在有问题的模块信息文件和主题信息文件中调用脚本,但都没有运气。 我得到第一个警报,然后查看开发工具,在#a2apage_DEFAULT上看到Uncaught TypeError。 任何建议,将不胜感激。

jQuery(window).load(function () {
    Drupal.behaviors.cee = {
        attach: function(context, settings){
            console.log("attach");
            $('#a2apage_DEFAULT').click(function() {
                console.log("click");
                $(this).parent('#a2apage_dropdown').css('display','none');
            })
        }
    };
} (jQuery));

推测一下,该错误可能与您对$的使用有关,而没有为该变量分配任何内容。

这应该工作:

(function($) {
  Drupal.behaviors.cee = {
    attach: function(context, settings){
      console.log("attach");
        $('#a2apage_DEFAULT').click(function() {
          console.log("click");
          $(this).parent('#a2apage_dropdown').css('display','none');
        })
      }
    };
})(jQuery);

您应该等待文档加载而不是窗口

jQuery(document).load(function () {
    Drupal.behaviors.cee = {
        attach: function(context, settings){
            console.log("attach");
            $('#a2apage_DEFAULT').click(function() {
                console.log("click");
                $(this).parent('#a2apage_dropdown').css('display','none');
            })
        }
    };
} (jQuery));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM