防止jQuery就绪处理程序触发
我有一种情况,在某种情况下,我想要任何jQuery ready
处理程序绑定不会实际触发DOMContentReady事件。 这些处理程序绑定在各个地方,包括各种包含文件,插件等。 因此,虽然我可以在靠近页面顶部的脚本中设置某种全局变量,并在每个$(document).ready()
绑定之前设置if
条件来检查此变量,但我宁愿不这样做。
理想情况下,我正在寻找两件事之一,
- 我可以在包含之前在jQuery对象上设置的属性,它会告诉它忽略对
.ready()
调用 - 我可以在DOMContentReady触发之前在内联脚本中调用文档末尾的方法取消绑定
ready()
处理程序。
显而易见的一个, $(document).unbind('ready')
不会这样做,我猜因为.ready()
不是普通的事件绑定。
可以这样做吗? 如果是这样,怎么样?
我有一个模糊的想法是扩展jQuery原型,并用一个方法替换ready()
,该方法将检查我将引入的新属性。 那有意义吗?
你应该使用holdready
$.holdReady(true); $.getScript("myplugin.js", function() { $.holdReady(false); });