我在网上看到了一些jquery代码,采用了这种形式:
<script>
function doSomething(message)
{
$(document).ready(function(){
alert(message);
});
};
</script>
Run Code Online (Sandbox Code Playgroud)
即一个外部函数("doSomething"),里面有$(document).ready.我很困惑,因为当加载DOM时,不是$(document).ready下的代码?就像在函数内部有一个事件处理程序(?).这种形式的代码对任何人都有意义吗?谢谢.
这说得通.$(document).ready注册在DOM完全加载时触发的事件处理程序.传递给它的匿名函数就是那个处理程序.如果在加载DOM后注册该处理程序,则会立即触发它.
Javascript可以在DOM完全加载之前执行,所以这个函数做的是,它实际上注册了在加载DOM之前不显示的消息.如果您不希望在DOM完全加载之前显示消息,则可以使用此构造.
这可能是原始编码器的错误。您可以这样做,但您希望doSomething尽早打电话。请注意,如果在调用 时 DOM 已经准备好ready,jQuery 将调用代码,因此无论哪种方式都会发生,但直到某人在某处调用 时才会发生doSomething。我看不出该模式有多大用途,因此除非您有一些强有力的论据来使用它 - 并且考虑到这个问题,我怀疑您没有:-) - 您可以安全地忽略它。
| 归档时间: |
|
| 查看次数: |
3933 次 |
| 最近记录: |