通常情况下表单元素获取焦点后就可以触发focus事件,这一点在各个浏览器都是没有任何问题。
但很多元素无法获取焦点,比如div元素,就算是为它注册focus事件处理函数,也是无法触发此事件。
下面通过代码实例介绍一下如何让div触发focus事件。
代码实例如下:[HTML] 纯文本查看 复制代码运行代码
蚂蚁部落#thediv{
padding:10px;
width:100px;
height:100px;
background-color:#CCC;
}
var hasAttr=function(el,name){
var attr=el.getAttributeNode && el.getAttributeNode(name);
return attr ? attr.specified : false
}
var addEvent=function(obj,type,callback){
if(obj.addEventListener){
obj.addEventListener(type,callback,false);
}
else if(obj.attachEvent){
obj.attachEvent("on" + type,callback);
}
}
var done=function(el,fn){
if(!hasAttr(el,"tabindex")){
el.tabIndex=