日期:2014-05-16  浏览次数:20403 次

关于getElementById('id').focus()的问题
当id是input元素的时候可以发生作用焦点能转移、窗口能够滚动到相关元素,当id是文本元素的时候就没有作用了,但是不报错。可是JS权威指南指出:IE4之后文档元素都有focus()方法了,推荐此方法作为确定文档位置的方法。网上也有相关的代码作为此种事情。讯问一下,当使用getElementById( 'id ').focus()要注意什么吗?需要什么条件?
<button   onclick= "testLength() ">   test </button>
<h4> xxxxxxx </h4> <H4> 配置具体情况 </H4> <SPAN> (根据实际情况进行填写) </SPAN>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4> <h4> xxxxxxx </h4>
<h4> xxxxxxx </h4> <h4> xxxxxxx </h4> <h4> xxxxxxx </h4> <h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4> <h4> xxxxxxx </h4>
<h4> xxxxxxx </h4> <h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4> <h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4> <h4> xxxxxxx </h4>
<h4> xxxxxxx </h4> <h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4>

<h4> xxxxxxx </h4>
<h4> xxxxxxx </h4> <h4   id= "hh4 "> xxxxxxx </h4>
<INPUT   name= "linkman "   id= "linkman "   type=text   size=50>
<script>
<!--
        function   setFocus(elementId){

if(document.getElementById){

//getElementById   is   supported,   so   use   it

if(document.getElementById(elementId)){

document.getElementById(elementId).focus();

}

}else{

if(document.getElementsByName){

var   items   =   document.getElementsByName(elementId);

if(items.length   >   0){

items[0].focus();

}

}

}

}//end   function
var   loadfunc=function(){};
//loadfunc=function(){
// alert( '1111 ');
//}
window.onload=function(){
//loadfunc();
//alert( '2222 ');
//setFocus( "hh4 ");
document.getElementById( 'hh4 ').focus();
//alert(document.getElementById( 'hh4 ').innerHTML);
}
function   testLength(){
if(document.getElementById( 'linkman ').value.length> 50){
alert( "length   invalidated:::: "+document.getElementById( 'linkman ').value.length);
}
}

-->

</script>
<style>

li   ul{dispaly:inline}  

</style>
<ul>
<li> xxxxxxxxxxxxxxx
<ul>
</ul>
</li>
<li> yyyyyyyyyyyyyyy
<ul>
<li> 111111111 <a   id= "linka "> 11111 </a> </li>
<li> 111111112 </li>
<li> 111111113 </li>
<li> 111111114 </li>
</ul>
</li>
</ul>

------解决方案--------------------
要注意的就是那个对象要支持onfocus事件
------解决方案--------------------
你的id为hh4的元素是一段文本,不支持onfocus事件。