Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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
为什么<;按钮onclick="&引用&燃气轮机;当documentgetElemebtById(";)时不要激发。onclick=Function在javascript中是否有作用?_Javascript_Html - Fatal编程技术网

为什么<;按钮onclick="&引用&燃气轮机;当documentgetElemebtById(";)时不要激发。onclick=Function在javascript中是否有作用?

为什么<;按钮onclick="&引用&燃气轮机;当documentgetElemebtById(";)时不要激发。onclick=Function在javascript中是否有作用?,javascript,html,Javascript,Html,这是我的代码,我想知道为什么display()执行而show()不执行。这背后一定有逻辑。请开导我 <html> <head> </head> <body> <button id="b1" onclick="show()">Show</button> <p id="p1"></p> <p id="p2"></p

这是我的代码,我想知道为什么display()执行而show()不执行。这背后一定有逻辑。请开导我

<html>
    <head>

    </head>
    <body>
        <button id="b1" onclick="show()">Show</button>
        <p id="p1"></p>
        <p id="p2"></p>
    <body>
    <script>
        function show()
        {
            document.getElementById("p1").innerHTML="Hello";
        }

        document.getElementById("b1").onclick=display;
        function display(){
            document.getElementById("p2").innerHTML="World";    
        }
    </script>
</html>

显示

函数show() { document.getElementById(“p1”).innerHTML=“Hello”; } document.getElementById(“b1”).onclick=display; 函数显示(){ document.getElementById(“p2”).innerHTML=“World”; }
如果您只有这两个选项中的一个,则此选项将起作用。问题是第二位代码将覆盖onclick处理程序,这就是为什么第一位永远不会被调用

您可以使用
addEventListener
,它不会覆盖现有的侦听器,但会添加一个额外的侦听器。那样的话,双方都会开火,尽管我认为在形式上不能保证你们的订单。但在这个特定的场景中,这并不重要

函数显示()
{
document.getElementById(“p1”).innerHTML=“Hello”;
}
函数显示()
{
document.getElementById(“p2”).innerHTML=“World”;
}
document.getElementById(“b1”).addEventListener(“单击”,显示)
Show


出于同样的原因:

document.querySelector(“P”).innerHTML=“已替换”
原件


您只能用一种方法绑定onclick,要么显示,要么显示EventHandler的onclick属性用于处理给定元素上的单击事件

对于onclick事件,您已经通过

 document.getElementById("b1").onclick=display;
一次只能为一个对象分配一个onclick处理程序


显示

函数show() { document.getElementById(“p1”).innerHTML=“Hello”; } document.getElementById(“b1”).onclick=display; 函数显示(){ document.getElementById(“p2”).innerHTML=“World”; }
请注意:应避免使用内联js-最好使用eventHandleru,因为它只能使用一种方法绑定onclick!它可以工作!!删除
document.getElementById(“b1”).onclick=display并查看差异。您不能在单个事件上显示两个输出。请使用
addEventListener
而不是
onclick
我假定这是一个输入错误,但是您的第二个
标记应该是
,并且应该在脚本下面。那么您能告诉我为什么有这两种不同的方法来处理事件吗?提供两种变体来正确处理事件,背后一定有一些逻辑!一般来说,这是因为一个存在于另一个之前。多播事件是后来引入的,我想另一个是为了兼容性而保留的。我不知道为什么在你的代码中使用这两个。这是你的密码,对吗?:)另见。我的代码是正确的,但我只是实际检查了为什么有两种方法,以及两种方法同时执行时的输出是什么。