Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:拦截原始DOM就绪事件?_Javascript_Jquery - Fatal编程技术网

Javascript jQuery:拦截原始DOM就绪事件?

Javascript jQuery:拦截原始DOM就绪事件?,javascript,jquery,Javascript,Jquery,是否可能以某种方式截获DOM ready事件,以便正常情况下在$(document).ready(function(){…}中触发的任何内容都不会执行?然后手动触发事件,以便执行代码 在我的例子中,我有大量的现有代码已经依赖于$(document).ready(function(){…},我希望我不必进行搜索/替换,就可以让所有代码都依赖于自定义的手动触发事件。就是为了满足这种需要而设计的 任何附加了 .bind()或其快捷方式方法之一 当相应的 事件发生。它们可以被激发 但是,使用.trigg

是否可能以某种方式截获DOM ready事件,以便正常情况下在
$(document).ready(function(){…}
中触发的任何内容都不会执行?然后手动触发事件,以便执行代码

在我的例子中,我有大量的现有代码已经依赖于
$(document).ready(function(){…}
,我希望我不必进行搜索/替换,就可以让所有代码都依赖于自定义的手动触发事件。

就是为了满足这种需要而设计的

任何附加了 .bind()或其快捷方式方法之一 当相应的 事件发生。它们可以被激发 但是,使用.trigger()手动 方法。执行对.trigger()的调用 处理程序的顺序与它们的顺序相同 如果事件被触发的话 用户自然会:


如果不希望“正常”触发某些内容,则不应将其放在
$(document).ready(on_ready\u func)
中。加载DOM后,在加载页面内容之前,将立即加载其中的所有内容

相反,从on_ready_func cherry选择要手动触发的内容到另一个函数中,比如manual_func,并在您选择的事件中调用该函数

请注意,
ready
函数不能使用触发器触发,因此不能再次触发func,除非将其作为单独的函数使用

分开是你最好的选择

var manual_func = function(){
    // Manual loads
}

var on_ready_func = function(){
    // only things to be loaded on dom ready
    // e.g.

    $('button#load_manual_trigger').bind('click', manual_func);
}

$(document).ready(on_ready_func);

愉快的编码。

但如何防止原始事件触发?据我所知,e.preventDefault()在这种情况下是不可能的。当你不想在dom Ready上触发任何事件时,那么为什么要在
Ready
中编写呢?我基本上是在试图避免重写当前依赖dom Ready事件的大量现有脚本。我希望有某种方法可以拦截它,并在以后手动触发它。