javascript onClick调用风格-一些正常,一些不正常
这应该是一些非常基本的东西,但我无法解释下面的结果。 我知道以前也有人问过类似的问题,但这些问题都没有真正帮助我解释这一点。 有人能帮我理解为什么只有最后一次点击(点击这里3)显示警报而没有其他两次 在我的情况下,我确实需要从其他函数调用test()函数,而不是直接调用。我真的需要在这里使用bind吗javascript onClick调用风格-一些正常,一些不正常,javascript,html,Javascript,Html,这应该是一些非常基本的东西,但我无法解释下面的结果。 我知道以前也有人问过类似的问题,但这些问题都没有真正帮助我解释这一点。 有人能帮我理解为什么只有最后一次点击(点击这里3)显示警报而没有其他两次 在我的情况下,我确实需要从其他函数调用test()函数,而不是直接调用。我真的需要在这里使用bind吗 <!DOCTYPE html> <html> <head> <title></title> <script type="text/
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
function test()
{
alert('hi');
}
</script>
<style>
i {
cursor:pointer;
text-decoration:underline;
}
</style>
</head>
<body>
<div>
<i id="1" onClick="return function(){test();}">CLICK HERE1</i>
<br/>
<i id="2" onClick="function(){test();}">CLICK HERE2</i>
<br/>
<i id="3" onClick="return test();">CLICK HERE3</i>
</div>
</body>
</html>
功能测试()
{
警报(“hi”);
}
我{
光标:指针;
文字装饰:下划线;
}
单击此处1
单击此处2
单击此处3
感谢您的帮助。首先返回一个从未调用过的函数。第二个定义了一个从未被调用的函数。第三个调用
test()
。“我真的需要从其他函数调用test()函数,而不是直接调用。”-为什么?您正在谈论的另一个函数做什么?只需Onclick=“test()”就足够了,第一个和第二个函数返回一个函数Onclick,只有第三个函数运行它。如果您想从其他函数调用test,那么Onclick=“(function(){test();}”)就必须调用这些函数。前两个试试这些onClick=“return function(){test();}()”
和onClick=“function(){test();}()”
否。。。第三种情况是,您正在运行测试
,然后返回测试
函数的返回(当然,当事件发生时)