小编Dam*_*pas的帖子

在jQuery中防止来自第一个处理程序的其他事件处理程序

我在页面上有输入字段和提交按钮.

<form id="searchform">
<input id="s" type="search" autocomplete="off" name="s" value="">
<div id="search-submit" class="input-group-addon">
    <i>SUBMIT</i>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)

这里是jQuery代码:

var inProgress = false; 

$("#search-submit").on("click", function() {
    inProgress = true;
    alert ("Form Submit");
    inProgress = false;   
});

$("#s").blur(function () {
    if ( ! inProgress ) {
        alert ("Blur");
    inProgress = false; 
    }
});
Run Code Online (Sandbox Code Playgroud)

如果从输入字段点击提交div,我想防止模糊,但是如果从输入字段点击到页面的其他部分,我想允许它.我无法使用按钮提交.

我把小提琴jsfiddle.net/405kzboh/1

但是现在我甚至不理解为什么在Blur事件之前没有触发Click事件,如果有人点击输入提交!

jquery

5
推荐指数
1
解决办法
226
查看次数

标签 统计

jquery ×1