繁体   English   中英

如果document.ready不起作用

[英]What If document.ready won't work

每个JavaScript开发人员迟早都会遇到document.onready事件中页面元素不可用的情况。 这是因为onready很快就被解雇了,特别是当大多数页面部分动态加载时(使用AJAX)。 我现在和Drupal 7合作。 Drupal不提供Ajax回调,它似乎是你需要编写自定义回调。

我的问题是:对于这种情况,最合适的解决方案是什么?

通常我申请

jQuery(document).ready(function(){
               setTimeout(function tmr(){
               //Wait for any or task specific element will be available
                   if (jQuery('.bxslider').length) {
                            //Code here
                            do_code();
                   } else
                       setTimeout(tmr, 1000);
               }, 10);

或者更好地写一个回调? 还是没有什么不同?

像这样附上你的js行为:

Drupal.behaviors.nameOfYourModule= {
  attach: function (context, settings) {
    // your code here
  }
};

这样,您的代码将在包括AJAX请求在内的每个请求上执行。

有关更多信息, 请参阅此主题的博客文章。

暂无
暂无

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

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