Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript onClick调用风格-一些正常,一些不正常_Javascript_Html - Fatal编程技术网

javascript onClick调用风格-一些正常,一些不正常

javascript onClick调用风格-一些正常,一些不正常,javascript,html,Javascript,Html,这应该是一些非常基本的东西,但我无法解释下面的结果。 我知道以前也有人问过类似的问题,但这些问题都没有真正帮助我解释这一点。 有人能帮我理解为什么只有最后一次点击(点击这里3)显示警报而没有其他两次 在我的情况下,我确实需要从其他函数调用test()函数,而不是直接调用。我真的需要在这里使用bind吗 <!DOCTYPE html> <html> <head> <title></title> <script type="text/

这应该是一些非常基本的东西,但我无法解释下面的结果。 我知道以前也有人问过类似的问题,但这些问题都没有真正帮助我解释这一点。 有人能帮我理解为什么只有最后一次点击(点击这里3)显示警报而没有其他两次

在我的情况下,我确实需要从其他函数调用test()函数,而不是直接调用。我真的需要在这里使用bind吗

<!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();}()”
否。。。第三种情况是,您正在运行
测试
,然后返回
测试
函数的返回(当然,当事件发生时)