我可以防止模糊事件发生吗?

我有一个简单的例子,我有一个input字段,我把一个blurchange事件放在上面:

HTML

  

JS

 $('input').change(function(e){ alert('change'); }); $('input').blur(function(e){ alert('blur'); }); 

如果触发change事件,是否可以防止blur事件发生?

一种方法是定义一个在触发更改事件时更改的布尔值,但我不喜欢它,有更好的方法吗?

这是一个你可以玩的例子。

解决了这个问题..

  $('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'); }); }); 

使用.off

DEMO

 $('input').change(function(e){ alert('change'); e.stopImmediatePropagation(); $(this).off("blur"); //$("input[name='test']").off("blur"); }); $('input').blur(function(e){ e.preventDefault(); alert('blur'); });​ 

您可以使用

this.unbind('blur'); 在onchange电话上

如果我理解正确,答案是使用event.preventDefault(); 有关演示,请参见http://jsbin.com/welcome/52201/edit 。