发表于: 2017-05-13 20:04:56
1 872
今天完成的任务:
修改了一些task3的bug,基本没bug了。
学习有限状态机
明天计划的任务:
写css样式
理清游戏逻辑
遇到的问题:
如图是两个text输入框,id分别为a,b:
document.getElementbyId("a").onblur()=function(){
alert("11111");
};
document.getElementbyId("b").onblur()=function(){
alert("22222");
};
我为两个input框设置了onblur事件,当input框失焦后,会分别触发alert弹出框。若我点击a,然后再点击b,则会触发无限弹窗的bug。后来了解到这是chrome浏览器的bug。当点击b时,a失焦,b聚焦,触发a的alert。点击弹出的alert框确认按钮,b失焦,然后chrome自动聚焦到b,触发b的alert,点击alert,b再失焦,然后chrome自动聚焦到b,触发b的alert。。。。。。。。
解决方法为在函数中加入this.blur();取消chrome的聚焦行为:
document.getElementbyId("a").onblur()=function(){
this.blur();
alert("11111");
};
document.getElementbyId("b").onblur()=function(){
this.blur();
alert("22222");
};
收获:
1,焦点事件:
onfocus:当元素获取到焦点的时候触发
onblur:当元素失去焦点的时候触发
obj.focus();给指定的元素设置焦点
obj.blur();取消指定元素的焦点
评论