簡體   English   中英

在 onClick 屬性中聲明變量,並在 onClick 中使用多個命令

[英]Stating variables in the onClick attribute, and using multiple commands in onClick

那好吧。 在開始之前,我確實搜索了這個,我意識到這個主題還有其他主題,但沒有一個很好地回答了我的問題。

所以我想要做的是當一個標簽被點擊時,它會在 onClick 屬性內創建一個變量,可以從一個與 case switch 一起使用的函數訪問該變量。

1) 可以在 onClick 屬性中創建變量嗎?
2) onClick 屬性中可以執行多個命令嗎? 像: onClick="alert('Boo!'); afunction();" ?

我為缺少代碼表示歉意,但我使用的是蘋果 iPad,他們不使用標簽按鈕或縮進,等等等等。這是我嘗試過的:

[..omitted..]
var item = "null";
function executeFunction(){
    switch(item){
    case "item1":
        document.getElementById("div1").style.display='block';
        document.getElementById("div2").style.display='none';
        document.getElementById("div3").style.display='none';
        document.getElementById("div4").style.display='none';
        break;
    case "item1":
        document.getElementById("div1").style.display='block';
        document.getElementById("div2").style.display='none';
        document.getElementById("div3").style.display='none';
        document.getElementById("div4").style.display='none';
        break;
    case "item2":
        document.getElementById("div1").style.display='none';
        document.getElementById("div2").style.display='block';
        document.getElementById("div3").style.display='none';
        document.getElementById("div4").style.display='none';
        break;
    case "item3":
        document.getElementById("div1").style.display='none';
        document.getElementById("div2").style.display='none';
        document.getElementById("div3").style.display=block';
        document.getElementById("div4").style.display='none';
        break;
    case "item4":
        document.getElementById("div1").style.display='none';
        document.getElementById("div2").style.display='none';
        document.getElementById("div3").style.display='none';
        document.getElementById("div4").style.display='block';
        break;
    }
}

</script>
<ul>
    <li onClick="item = 'item1'; executeFunction();">Some item</li>
    <li onClick="item = 'item2'; executeFunction();">Some other item</li>
    <li onClick="item = 'item3'; executeFunction();">Some flying reptile</li>
    <li onClick="item = 'item4'; executeFunction();">Some psilocin</li>
</ul>
[..omitted..]

OK,首先可以使用多個命令,用分號隔開; 但是,通常不建議這樣做……您可以嘗試創建一個主函數或一系列主函數,以便在 HTML 代碼中只需要提及一個函數。

然后,你不需要創建變量......試試這個

<li onClick="executeFunction('item1');">Some item</li>

...然后, executeFunction將是這樣的 ...

function executeFunction(item) {
  document.getElementById("div1").style.display='none';
  document.getElementById("div2").style.display='none';
  document.getElementById("div3").style.display='none';
  document.getElementById("div4").style.display='none';

  switch(item){
    case "item1":
      document.getElementById("div1").style.display='block';
      break;
    case "item2":
      document.getElementById("div2").style.display='block';
      break;
    case "item3":
      document.getElementById("div3").style.display='block';
      break;
    case "item4":
      document.getElementById("div4").style.display='block';
      break;
  }
}

做: onClick="var='X'; doThis()"。

用分號分隔 onClick 中的 javascript 命令。

簡單地:

 onclick="varname = value"

暫無
暫無

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

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