防止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); });