JavaScript - document.getElementByID 与 onClick

问题描述 投票:0回答:6

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

我在分数添加函数中创建了一个简单的

if
语句,该语句应该更改图像及其
onClick
值......

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

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

javascript html onclick
6个回答
55
投票

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

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

另请参阅

addEventListener


19
投票

在 JavaScript 中函数是对象。

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

6
投票

也许您可能想使用“addEventListener”

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

希望它对你仍然有用


3
投票
window.onload = prepareButton;

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

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

0
投票

结构解剖道恩 ┣────────────────┫ ┃ ┃ ┣ーー 迪科替尔 ┃ ┣━━ 表皮 ┃ ┃ ┣━━ 青金石库提库拉 ┃ ┃ ┗━━ 气孔 ┃ ┣━━ Jaringan Tiang (Palisade) ┃ ┣━━ Jaringan Bunga Karang(海绵) ┃ ┣–– Berkas Pengangkut (Xylem dan Floem) ┃ ┗–– Jaringan Pengangkut
┃ ┣ーー 莫诺科蒂尔 ┃ ┣━━ 表皮 ┃ ┃ ┣━━ 青金石 kutikula
┃ ┃ ┗━━ 气孔 ┃ ┣━━ Jaringan Penyimpan(束鞘) ┃ ┣–– Jaringan Pengangkut (Xylem dan Floem) ┃ ┣━━ 贾林安斯彭斯 ┃ ┗–– Tidak memiliki jaringan tiang(栅栏) ┗────────────────┻


-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=()”

© www.soinside.com 2019 - 2024. All rights reserved.