JavaScript - 带有onClick的document.getElementByID

时间:2014-01-06 00:40:23

标签: javascript html onclick

我正在尝试在HTML文档中编写一个简单的游戏,只是为了好玩。在其中,有一个图像会在点击时添加到您的分数中。

我在分数添加功能中创建了一个简单的if语句,该语句应该更改图像以及它的onClick值是什么......

if (foo == 1) {
    document.getElementById("test").src = "images/test2.png";
    document.getElementById("test").onClick = "foo2()";
}

......但它不起作用。图像将成功更改,但实际的onClick保持不变。检查控制台,它也不会引发任何错误。

5 个答案:

答案 0 :(得分:26)

onclick属性全部为小写,并接受函数,而不是字符串。

document.getElementById("test").onclick = foo2;

另见addEventListener

答案 1 :(得分:6)

在JavaScript中functions是对象。

document.getElementById('foo').onclick = function(){
    prompt('Hello world');
}

答案 2 :(得分:3)

window.onload = prepareButton;

function prepareButton()
{ 
   document.getElementById('foo').onclick = function()
   {
       alert('you clicked me');
   }
}

<input id="foo" value="Click Me!" type="button" />

答案 3 :(得分:0)

也许您可能想使用“ addEventListener”

document.getElementById("test").addEventListener('click',function ()
{
    foo2();
   }  ); 

希望它对您仍然有用

答案 4 :(得分:-1)

有时JavaScript未激活。 尝试类似的东西:

<!DOCTYPE html>
<html>
  <head>

    <script type="text/javascript"> <!--
      function jActivator() {
        document.getElementById("demo").onclick = function() {myFunction()};
        document.getElementById("demo1").addEventListener("click", myFunction);
        }
      function myFunction( s ) {
        document.getElementById("myresult").innerHTML = s;
        }
    // --> </script>
    <noscript>JavaScript deactivated.</noscript>
    <style type="text/css">
    </style>
  </head>
  <body onload="jActivator()">
    <ul>
      <li id="demo">Click me -&gt; onclick.</li>
      <li id="demo1">Click me -&gt; click event.</li>
      <li onclick="myFunction('YOU CLICKED ME!')">Click me calling function.</li>
    </ul>
    <div id="myresult">&nbsp;</div>
  </body>
</html>

如果您在无法访问的页面内使用代码,请删除和标记,并尝试在图像标记内的图片中使用'onload =()'

相关问题