问题描述
|
是否有可能以某种方式截获DOM ready事件,以使通常不会在ѭ0内触发的任何内容被执行?然后稍后手动触发事件,以便执行代码?
就我而言,我有大量现有代码已经依赖于ѭ0,我希望我不必进行搜索/替换就可以使所有代码都依赖于自定义的手动触发事件。
解决方法
jQuery.trigger()正是出于这种需要
任何附带的事件处理程序
.bind()或其快捷方式之一
当相应的被触发
事件发生。他们可以被解雇
但是,使用.trigger()手动
方法。调用.trigger()执行
处理程序以相同的顺序
如果事件被触发
用户自然会:
,如果您不希望某事物“正常”触发,则它不应位于
$(document).ready(on_ready_func)
中。 DOM加载后以及页面内容加载之前,其中的所有内容都将加载。
取而代之的是,从on_ready_func樱桃选择中,将要手动触发的内容转换为另一个函数,例如manual_func,并在您选择的事件中调用该函数。
请注意,ready
函数无法使用触发器来触发,因此除非您将其作为单独的函数使用,否则无法再次触发该函数。
拆分是您的最佳选择。
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);
编码愉快。