我有一个简单的例子,我有一个input字段,我把一个blur和change事件放在上面:
HTML
<input name="test" value=""/>
Run Code Online (Sandbox Code Playgroud)
JS
$('input').change(function(e){
alert('change');
});
$('input').blur(function(e){
alert('blur');
});
Run Code Online (Sandbox Code Playgroud)
blur如果change事件被触发,是否可以防止事件发生?
一种方法是定义一个在触发更改事件时更改的布尔值,但我不喜欢它,有更好的方法吗?
这是一个你可以玩的例子.
Akh*_*hil 17
解决了这个问题..
$('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'); });
});
Run Code Online (Sandbox Code Playgroud)
使用 .off
$('input').change(function(e){
alert('change');
e.stopImmediatePropagation();
$(this).off("blur"); //$("input[name='test']").off("blur");
});
$('input').blur(function(e){
e.preventDefault();
alert('blur');
});?
Run Code Online (Sandbox Code Playgroud)