2012-11-05 95 views
0

我有一个脚本,像这样:jQuery触发器更改不失焦点?

$(".b").hide(); 
$(".uid").bind("change", function() { 
    if($(this).val().length>0) { 
     $(".b").show(); 
    } else { 
     $(".b").hide(); 
    } 
}); 

这工作,你所期望的,但是,要获得“.B”显示,我要离开的“.uid”的焦点。有什么办法可以得到“。”无需点击“.uid”外部显示?这是一个隐藏的提交按钮,直到将某些内容输入到文本字段中,并且我希望在输入内容后立即显示,而不必点击该字段。

回答

3

您可以使用keyup代替:

$(".b").hide(); 
$(".uid").on("keyup", function() { 
    if($(this).val().length>0) { 
     $(".b").show(); 
    } else { 
     $(".b").hide(); 
    } 
});​ 

http://jsfiddle.net/zerkms/YCGw9/

+0

或许KEYUP _and_变化,这样当用户执行拖放或粘贴,而无需使用键盘它仍然会正常工作。 – nnnnnn

+1

@nnnnnn:...和鼠标事件 - 如果右键点击 - >粘贴。这完全取决于OP如何坚实。 – zerkms