[英]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.