簡體   English   中英

單擊其他圖像后,Javascript將禁用可單擊的圖像

[英]Javascript disable a clickable image when other image is clicked

我有兩個按鈕,兩個按鈕都有警報功能。 我希望如果用戶單擊第一個按鈕,則第一個按鈕的功能應該起作用,但是當用戶單擊第二個按鈕時,第一個按鈕的功能不應起作用,這意味着如果用戶單擊了第二個按鈕,則該功能不應在第一個按鈕上起作用。 以下是代碼,但無法正常工作:

<script>
function abc(){
    alert ("its a alert box!");
}

function xyz(){
    var a=150;
    alert(a);
}

<body>
<input type="button" value="submit 1" onClick="abc();">

<input type="button" value="submit 2" onClick="xyz();">
</body>

當單擊第二個按鈕時,可以使用jquery取消綁定第一個按鈕的click事件。 但是您需要添加一些id屬性,以便輕松實現。

<body>
<script>
function abc(){

   alert ("its a alert box!");
}
function xyz(){
   $('#btn1').unbind('click');
   var a=150;

   alert(a);   
}
</script>

<input id="btn1" type="button" value="submit 1" onClick="abc();"></input>

<input id="btn2" type="button" value="submit 2" onClick="xyz();"></input>
</body>

您還可以進一步優化代碼,使其不依賴於內聯onclick屬性。

$(document).ready(function(){
     $('#btn1').click(abc);
     $('#btn2').click(xyz);
})

使用jQuery(因為它是您給帖子添加的標簽之一),您可以使用unbind

對於初學者,請勿使用內聯點擊處理程序。 恕我直言,這樣的事情會更好:

<script>
$(document).ready(function(){

    function abc(){
       alert ("its a alert box!");
    }

    function xyz(){
       var a=150;
       alert(a);   
    }

   var bt1enabled = true;
   $('body').on('click', 'input[type=button]', function(){
      if(this.id==="btn1" && bt1enabled) {
          abc();
      } else if (this.id==="btn2") {
          btn1enabled = false; // or btn1enabled = !btn1enabled if this is supposed to toggle
          xyz();
      }
   });
}):
</script>

<body>
  <input id="btn1" type="button" value="submit 1"></input>  
  <input id="btn2" type="button" value="submit 2"></input>
</body>

嘗試這個

<div>
<input id="button1" type="button" value="Click1"/>
<input id="button2"type="button" value="Click2"/>
</div>

<script>
$('#button1').on('click', Button1Click);
$('#button2').on('click', Button2Click);

function Button1Click() {
    alert("You have clicked button 1");
}

function Button2Click() {
    alert("You have clicked button 2");
}

暫無
暫無

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

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