Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.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,“Hello World”最初在页面加载时显示。我希望它仅在单击按钮后显示。我知道我可以通过向按钮添加内联事件侦听器来实现这一点。我能用脚本编写所有这些代码吗 <button id="demo1">Click Me</button> <p id="demo"></p> <script> document.getElementById('demo1').onclick = myFunc

“Hello World”最初在页面加载时显示。我希望它仅在单击按钮后显示。我知道我可以通过向按钮添加内联事件侦听器来实现这一点。我能用脚本编写所有这些代码吗

        <button id="demo1">Click Me</button>

        <p id="demo"></p> 

        <script> document.getElementById('demo1').onclick = myFunction(); 
            function myFunction() {
            document.getElementById("demo").innerHTML = "Hello World"; } 
        </script>
点击我

document.getElementById('demo1')。onclick=myFunction(); 函数myFunction(){ document.getElementById(“demo”).innerHTML=“Hello World”;}
您将立即调用myFunction,然后将返回值(未定义)分配给onclick

document.getElementById('demo1')。onclick=myFunction()

应该是


document.getElementById('demo1')。onclick=myFunction

您将立即调用myFunction,然后将返回值(未定义)分配给onclick

document.getElementById('demo1')。onclick=myFunction()

应该是


document.getElementById('demo1')。onclick=myFunction

如果您使用这种类型的事件侦听,并且需要向函数传递多个参数,那么您应该知道
Element.onclick=function(evenObjectIsPassedHere){myFunction.call(this,arg1,arg2,arg3);}
就是这样做的。当然,您也可以将事件对象传递给内部函数。我展示了如何使用
call
,这样您就可以将
this
上下文绑定到您的元素,然后
myFunction
可以有类似
this.style.color='green'的内容在其中。您还可以在输出元素的上下文中调用它。
如果您使用这种类型的事件侦听,并且需要向函数传递多个参数,那么您应该知道
Element.onclick=function(evenObjectIsPassedHere){myFunction.call(this,arg1,arg2,arg3);}
就是这样做的。当然,您也可以将事件对象传递给内部函数。我展示了如何使用
call
,这样您就可以将
this
上下文绑定到您的元素,然后
myFunction
可以有类似
this.style.color='green'的内容在其中。您还可以在输出元素的上下文中调用它。