簡體   English   中英

從同一個點擊事件中停止兩個或多個點擊事件

[英]Stop two or more click events from the same click event

我在 jsp 頁面中創建了一個按鈕,我為同一個按鈕編寫了兩個點擊函數,一個帶有標簽,另一個帶有按鈕的類/id。 現在,當我點擊按鈕時,兩個點擊功能都被一個接一個地調用。 我的要求是在第一次點擊 function 中,我想停止第二次點擊 function。我不想刪除第二次點擊 function,因為在某些情況下我需要它來執行。

下面是我正在嘗試的代碼。

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<script>
$(document).ready(function(){

$("input[type=button]").click(function(e){

if(true) {
alert("The paragraph was clicked.");
}
else {
// I want to remove the second click function here
}
});

$("#test").click(function(){
   alert("Test paragraph was clicked.");

  });

});
</script>
</head>
<body>
<input type = 'button' value='test' id='test'/>
</body>
</html>

您需要使用e.stopImmediatePropagation()

$("input[type=button]").click(function(evt){
    evt.stopImmediatePropagation();
    ....
});

這可以防止“橫向冒泡”,因為需要更好的短語,即綁定到同一元素的更多事件回調不會觸發。

你應該試着把

return false;

else語句中。 因為它停止了事件的傳播,所以它應該做你想做的。

說明:將處理程序附加到元素的事件。 每個元素最多執行一次處理程序。

暫無
暫無

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

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