1

「addEventListener」を定義する方法と場所を教えてください

<script type="text/javascript">
  function doSomething() {
    alert('Image clicked');
  }

var myImage = document.getElementById('my_image_id');
myImage.addEventListener('click', doSomething, false);

</script>

HTML------------------------------------

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

またはというエラーmyImageが表示されます。nullnot an object

4

4 に答える 4

2

マークアップの後にコードを配置するか、コードを関数でラップして、ドキュメントの準備ができたら関数を実行する必要があります。

エラーが発生する理由は、document.getElementById('my_image_id'); 呼び出されたとき、その時点で指定された id を持つ要素はありません。あなたがアイデアを得たことを願っています。

于 2013-09-05T06:25:22.697 に答える
1
window.onload = function()
{
myImage.addEventListener('click', doSomething, false);
}
于 2013-09-05T06:28:29.150 に答える
1

次のように、関連するスクリプトが実行される<body>までにDOMが「my_image_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>

追加した

if (myImage.addEventListener) {
  myImage.addEventListener('click', doSomething, false);
}
else if(myImage.attachEvent) { // FOR IE
  myImage.attachEvent('onclick', doSomething);
}
else { 
    //
}
于 2013-09-05T06:26:28.380 に答える