如何知道文本框是否因点击按钮而失去焦点?

时间:2011-03-23 11:56:35

标签: jquery

我有一个文本框,我已经编写了blur事件处理程序,我有另一个按钮,我写了click事件。如果点击按钮,我不想发送blur事件。

有没有办法做到这一点?

3 个答案:

答案 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