在做项目时,遇到一个问题:就是在单选框选择了的前提下,当输入错误的值时,会有提示,这时再输入时按钮不会变亮,不知道哪里出错导致监听不到,只是输入框不会失去焦点。不过我想到一个解决方法,就是当判断输入值错误时将输入框失去焦点,这样再次输入时就重新响应事件了。

  • javascript通过 onFocus onBlur来判断焦点和失去焦点

     

<input type="text" id="p" onBlur="alert('lose focus!')" 
                                onFocus="alert('get focus')" />
  • jquery $("#p").blur(); $("#p").blur(fn)

       或$("#p").focus(); 或$("#p").focus(fn)来处理焦点事件

 

    前者:$("#p").blur();$("#p").focus(); 用来强制获取或失去焦点

    后者:$("#p").blur(fn),$("#p").focus(fn)则类似js的onBlur和onFocus用以处理焦点移出和获取时事件处理

 

例:

<input type="text" id="p" />
<button id="btn_focus" onclick="$('#p').focus();">focus</button>
<button id="btn_blur" onclick="$('#p').blur();">blur</button>