Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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 请告诉我我们将如何以及在何处定义;addEventListener";_Javascript_Html - Fatal编程技术网

Javascript 请告诉我我们将如何以及在何处定义;addEventListener";

Javascript 请告诉我我们将如何以及在何处定义;addEventListener";,javascript,html,Javascript,Html,请告诉我如何以及在何处定义“addEventListener” 函数doSomething(){ 警报(“单击图像”); } var myImage=document.getElementById('my_image_id'); myImage.addEventListener('click',doSomething,false); HTML------------------------------------ <body> <img src="xxx.png" wi

请告诉我如何以及在何处定义“addEventListener”


函数doSomething(){
警报(“单击图像”);
}
var myImage=document.getElementById('my_image_id');
myImage.addEventListener('click',doSomething,false);
HTML------------------------------------

<body>
  <img src="xxx.png" width="100px" height="100px" id="="my_image_id"/>
</body>


我收到一个错误
myImage
null
不是对象

您应该将代码放在标记后,或者用函数包装代码,并在文档准备好后执行函数


出现错误的原因是,当document.getElementById('my_image_id');调用时,此时没有具有给定id的元素。我希望您能理解。

您应该将代码放在标记之后,或者用函数包装代码,并在文档准备好后执行函数

出现错误的原因是,当document.getElementById('my_image_id');调用时,此时没有具有给定id的元素。我希望你能想到这个主意。

关闭之前添加它,因为在执行相关脚本时,DOM不必“我的图像id”,例如:

<body>
<img src="xxx.png" width="100px" height="100px" id="my_image_id"/>
<script type="text/javascript">
function doSomething() {
    alert('Image clicked');
 }

 var myImage = document.getElementById('my_image_id');

 myImage.addEventListener('click', doSomething, false);
</script>
</body>
关闭之前添加它,因为在执行相关脚本时DOM不必“my\u image\u id”,例如:

<body>
<img src="xxx.png" width="100px" height="100px" id="my_image_id"/>
<script type="text/javascript">
function doSomething() {
    alert('Image clicked');
 }

 var myImage = document.getElementById('my_image_id');

 myImage.addEventListener('click', doSomething, false);
</script>
</body>

将其放入
窗口中。onload
等待DOM完全加载,然后再附加事件侦听器。还要注意的是,
addEventListener
并不能在所有浏览器中工作。要使其在所有浏览器中都工作,请尝试:

window.onload = function()
{
  var myImage = document.getElementById('my_image_id');
  if (myImage.addEventListener){
    myImage.addEventListener('click', doSomething, false);
  } else if (myImage.attachEvent){
       myImage.attachEvent('onclick', doSomething);
  }
}

将其放入
窗口中。onload
等待DOM完全加载,然后再附加事件侦听器。还要注意的是,
addEventListener
并不能在所有浏览器中工作。要使其在所有浏览器中都工作,请尝试:

window.onload = function()
{
  var myImage = document.getElementById('my_image_id');
  if (myImage.addEventListener){
    myImage.addEventListener('click', doSomething, false);
  } else if (myImage.attachEvent){
       myImage.attachEvent('onclick', doSomething);
  }
}


id=“=”我的图像\u id”这是一个输入错误吗?语法错误
id=“=”
。还要确保在标记后添加脚本。id=“=”我的图像\u id”可能重复吗?这是一个输入错误吗?语法错误
id=“=”
。还要确保在标记之后添加脚本。可能是ok的副本。我得到了它,希望我可以添加多个addEventListener和RemoveEventListener。你能给我举个例子吗?@Sujesh:只需多次调用
addEventListener
。@FelixKling,就像那样。谢谢。好的,明白了,希望我能添加多个addEventListener和RemoveEventListener。你能给我举个例子吗?@Sujesh:只要多次调用
addEventListener
。@FelixKling,就这样。谢谢。您好,我试过您的代码,在moz和chrome中运行良好。但是ie给出错误“object不支持此属性或方法”@Sujesh请查看添加的代码,您需要使用attachEvent for IEYeah它工作正常,但有一点疑问。为什么要在标记之后添加脚本?在通常情况下,如果我们在之前使用“var myImage=document.getElementById('my_image_id'),我们将能够访问该图像,但在这种情况下为什么不能呢?@Sujesh正如我在上面的回答注释部分中提到的,您的javascript代码var myImage=document.getElementById('my_image_id'));在DOM到达图像标记之前执行,结果,它抛出错误,因为它找不到id为“my_image_id”的元素……我希望clear@Sujesh:为什么不把代码放在
窗口中。onload
?最好是
窗口。onload
就是为了这个目的。他尝试了你的代码,在moz和chrome中工作得很好。but ie giving error“object不支持此属性或方法”@Sujesh请查看使用attachEvent for IEYeah所需的添加代码。它工作正常,但有一点疑问。为什么要在标记后添加脚本?通常情况下,如果使用“var myImage=document.getElementById('my_image_id');之前,我们可以访问该图像,但在这种情况下为什么不呢?@Sujesh正如我在上面的回答评论部分中提到的,您的javascript代码var myImage=document.getElementById('my_image_id');在DOM到达图像标记之前执行,结果,它抛出错误,因为它找不到id为“my_image_id”的元素。。我希望它clear@Sujesh:为什么不将代码放入
窗口中。onload
?作为
窗口更好。onload
就是为了这个目的。在moz和chrome中工作良好。但是ie发出错误“object不支持此属性或方法”@Sujesh:原因是
addEventListener
不适用于所有浏览器(ie使用
attachEvent
)。检查我的回答在moz和chrome中工作良好。但是ie发出错误“object不支持此属性或方法”@Sujesh:原因是
addEventListener
不适用于所有浏览器(ie使用
attachEvent
)。检查我的答案是的,你是对的。谢谢,如果我们把上面的代码放在任何地方,它会工作的。是的,你是对的。谢谢,如果我们把上面的代码放在任何地方,它就会工作。
window.onload = function()
{
  var myImage = document.getElementById('my_image_id');
  if (myImage.addEventListener){
    myImage.addEventListener('click', doSomething, false);
  } else if (myImage.attachEvent){
       myImage.attachEvent('onclick', doSomething);
  }
}