关于js处理失去焦点问题。
有个输入框<input type="text"......> ,加了一个 onblur方法。
输入框上面有几个按钮,是给输入框里面的文件加粗,加斜线的。但是在点击按钮的时候,由于是失去焦点,在click事件之前,调用了onblur方法,我不希望这样,有什么方法来实现点击按钮又不调用onblur?
------解决方案--------------------去掉onblur方法
------解决方案--------------------有focus 就有blur
------解决方案--------------------在onblur事件函数中延时执行逻辑,判断焦点是否在几个目标按钮上,如是,将焦点设置回来,否则执行事件逻辑,示例:
xx.onblur = function(){
setTimeout(function(){
if(焦点在几个目标按钮上) {
执行事件逻辑
} else {
xx.focus();
}
},1);
}
------解决方案--------------------延时 执行blur 是个不错的办法。