我有一个文本框,我已经编写了blur
事件处理程序,我有另一个按钮,我写了click
事件。如果点击按钮,我不想发送blur
事件。
有没有办法做到这一点?
答案 0 :(得分:4)
$('yourblurbutton').bind('blur', function() {
yourblurfunction();
});
$('yourclickbutton').bind('click', function() {
//your click code
});
$('yourclickbutton').bind('mouseover', function() {
$('yourblurbutton').unbind('blur');
});
$('yourclickbutton').bind('mouseout', function() {
$('yourblurbutton').bind('blur', function() {
yourblurfunction();
});
});
yourblurfunction() {
// your blur function
}
鼠标悬停事件将在模糊之前触发,因此它使我们能够解除模糊。在mouseout上,我们再次简单地添加模糊。
答案 1 :(得分:1)
试试这个:
function blurr() {
alert('blur')
}
$(function(){
$('textarea').blur(function(){blurr()})
$(':button').click(function(){alert('click')})
$(':button').hover(function(){
$('textarea').unbind('blur');
},function(){
$('textarea').bind('blur',function() {blurr()});
})
})
例如:jsFiddle
答案 2 :(得分:0)
尝试focusout