我可以防止模糊事件发生吗? [英] Can i prevent blur event from happening?
本文介绍了我可以防止模糊事件发生吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
输入
字段,我把一个 blur
和更改
事件: HTML
< input name =testvalue =/>
JS
$('input')。change(function(e){
alert('change');
}) ;
$('input')。blur(function(e){
alert('blur');
});
是否可以防止 blur
事件如果更改
事件被触发,则会发生这种情况。
一种方法是定义一个布尔值,当更改事件被触发,但我不喜欢,有没有更好的方法?
这里是一个可以的例子
解决方案
解决问题由 this ..
$('input')。 change(function(e){
alert('change');
e.stopImmediatePropagation();
$(this).off(blur);
}) ;
$('input')。focus(function(e){
$(this).on(blur,function(e){
e.stopImmediatePropagation );
e.preventDefault();
alert('blur');});
});
I have a simple example where i have an input
field and i put a blur
and change
event on it:
HTML
<input name="test" value=""/>
JS
$('input').change(function(e){
alert('change');
});
$('input').blur(function(e){
alert('blur');
});
Is it possible to prevent the blur
event from happening if the change
event was triggered?
One way would be to define a boolean that changes when the change event was triggered, but I don't like it, is there a better way?
Here is an example you can play with.
解决方案
Solved issue by this..
$('input').change(function(e){
alert('change');
e.stopImmediatePropagation();
$(this).off("blur");
});
$('input').focus(function(e){
$(this).on("blur", function(e){
e.stopImmediatePropagation();
e.preventDefault();
alert('blur'); });
});
这篇关于我可以防止模糊事件发生吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文