停止来自同一点击事件的两个或多个点击事件

时间:2014-07-31 14:34:35

标签: javascript jquery

我在jsp页面中创建了一个按钮,我为同一个按钮编写了两个单击功能,一个带有标签,另一个带有按钮的类/ id。现在,当我点击按钮时,两个点击功能都会被逐个调用。我的要求是在第一次点击功能内,我想停止第二次点击功能。我不想删除删除第二次单击功能,因为在某些情况下我需要执行它。

以下是我尝试的代码。

<!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>

3 个答案:

答案 0 :(得分:3)

你需要jQuery的evt.stopImmediatePropagation()

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

这可以防止“侧向冒泡”,因为缺少更好的短语,即从触发中绑定到同一元素的其他事件回调。

答案 1 :(得分:1)

你应该尝试把

return false;
其他语句中的

。由于它会阻止事件的传播,它应该做你想要的。

答案 2 :(得分:0)

  

描述:将处理程序附加到元素的事件。该   每个元素最多执行一次处理程序。