gpt4 book ai didi

javascript - 事件中的 someFunction() 和 someFunction 有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:01 26 4
gpt4 key购买 nike

在这段代码中:

    function onHover_(){
$('p').css('background-color', 'red') ;
}

$( document ).ready(function() {
//1
$('p').click(onHover_);
//2
$('p').click(onHover_());
});

在第一行 onHover_在我点击 <p> 之后函数被执行(如我所料)标签。在第二行 onHover_()在文档准备好后立即执行,这意味着它不会等待 click事件!

简单地说,为什么?

这是一个 jsFiddle测试代码。


找到 this STO 上的线程,但结果不是公认的答案所预测的。

最佳答案

onHover_ 是一个函数。

onHover_() 执行或调用函数

因此,当您为事件分配处理程序时,即 ( click, change) ,您希望在事件发生时调用函数

但不是在事件绑定(bind)的时候。

所以在这种情况下

$('p').click(onHover_());

p 标签 的背景颜色会立即更改,而不是在您单击它时发生。这是因为函数名称后面的 ()(它会立即调用该函数)。

如果你还对语法感到困惑

$('p').click(onHover_);

相同
$('p').click( function() {
$('p').css('background-color', 'red') ;
});

回调是一个匿名函数,在特定事件被触发或执行时执行。

关于javascript - 事件中的 someFunction() 和 someFunction 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17535906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com