簡體   English   中英

JavaScript - 帶有 onClick 的 document.getElementByID

[英]JavaScript - document.getElementByID with onClick

我正在嘗試在 HTML 文檔中編寫一個簡單的游戲,只是為了好玩。 在其中,有一個圖像,單擊時會添加到您的分數中。

我在分數添加函數中創建了一個簡單的if語句,它應該更改圖像及其onClick值...

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

......但它不起作用。 圖像將成功更改,但實際的 onClick 保持不變。 檢查控制台,它也不會引發任何錯誤。

onclick屬性都是小寫的,並且接受一個函數,而不是一個字符串。

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

另請參閱addEventListener

在 JavaScript 中, 函數是對象。

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

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

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

也許您可能想使用“addEventListener”

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

希望它仍然對你有用

有時 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=()'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM