gpt4 book ai didi

jQuery 变量传递

转载 作者:行者123 更新时间:2023-12-01 08:14:52 25 4
gpt4 key购买 nike

我正在浏览一些 jQuery 教程,但我似乎找不到解决这种困惑的办法。

<div id="container">

<a href="#">Click Me</a>


</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
<script>

function doSomthing(){
aMessage = message;
console.log(this);
console.log(aMessage);
}

$('a').on('click', doSomthing)
</script>

查看上面的代码,当用户单击 anchor 标记并且 doSomthing 函数运行时。

但是我不明白的是,为什么如果将代码更改为以下内容(在 doSomthing 中添加括号),doSomthing 函数会立即运行而无需单击 anchor 标记。

$('a').on('click', doSomthing())

此外,如果我想在单击时运行 doSomthing 时传递参数,会发生什么情况。例如

<div id="container">

<a href="#">Click Me</a>


</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
<script>

function doSomthing(message){
console.log(this);
console.log(message);
}

$('a').on('click', doSomthing('face bash'))
</script>

我通常期望的是,在单击 anchor 标记后,控制台将记录“this”和传递的字符串,但是 doSomthing 函数会在页面加载后立即运行,而不是在单击 anchor 标记时运行:

您通常如何将参数传递给通过其他函数调用的函数:S?

最佳答案

也许可以尝试一下

$('a').on('click', function(){
doSomthing('face bash');
})

关于jQuery 变量传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11281955/

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