Jquery 模糊事件干扰所有其他事件
Jquery blur event interfering with all other events
我有一个包含多个字段的表单。我在所有字段上都有 jquery 模糊事件处理程序,当您离开字段时会进行一些验证。问题是,如果您曾经专注于某个字段,然后单击页面上的任何其他链接,它会验证该字段,但永远不会允许单击该链接(或提交表单)。
$('.required').bind('blur', function(event) {
validateAll($(event.target));
});
function validateAll(elm) {
//blah blah
return false;
}
validateAll 函数只执行检查并在之后返回 false。
基本上,当用户专注于某个字段时,他们必须单击任何按钮两次才能使其正常工作。第一个激活模糊验证,然后第二个实际点击链接。
关于发生了什么的任何想法?
我发现了其他一些与此类似的帖子。
常见的解决方案是尝试在模糊事件处理程序中添加延迟,如下所示:
$('.required').bind('blur', function(event) {
setTimeout(function()
{
validateAll($(event.target));
}, 10);
});
希望这有帮助...
您没有在模糊处理程序中返回 validateAll,尽管您说它"只是执行检查并在之后返回 false"。 如果它返回 false 以尝试防止进一步的事件冒泡,则您希望返回它,而不仅仅是调用 validateAll(并且不对它返回的内容执行任何操作)。
不要看到这些会导致您所描述的问题,但也许我只是误解了这个问题。
相关文章:
- 执行php函数的onclick事件的其他替代方案
- 单击其他元素时,我如何使用 jQuery 忽略更改事件
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 从其他元素上的单击事件访问image src属性
- Phonegap iOS-设备准备不发射其他事件做
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 如何将单击事件绑定到其他类
- 停止内部事件处理程序冒泡的其他方法,jQuery
- 存在其他参数时访问Javascript事件
- 如何在不干扰网站其他部分的情况下,在画布上捕捉keydown事件
- Ajax 请求正在取消页面上的其他 JS 事件
- 可以使 jquery 点击事件在所有其他点击事件之后执行
- 捕获在Windows应用程序中启动其他应用程序的用户事件
- 如何使用cURL或其他方式在点击时执行事件
- 当其他事件发生时,用javascript隐藏的文本框将变为可见
- ext.js中还有其他事件我应该使用吗
- 将事件绑定到其他UI组件's函数,在Kendo MVVM中
- 更改时事件会触发其他事件
- 如何根据其他组件中的事件更新组件URL