2009-11-25 67 views
0

我有一个包含复选框的ASP.NET控件。点击时,我想让焦点保留在这个复选框上。下面是我使用的是什么:MooTools:设置重点点击

<script type="text/javascript"> 
    window.addEvent("domready", function() { 

     var acceptCheckId = $("<%= this.accept.ClientID %>").getElement("input"); 

     acceptCheckId.addEvent("click", function() { 
      acceptCheckId.focus(); 
     }); 

    }); 
</script> 

我能得到的复选框元素融入acceptCheckId变好了,但是当我点击它,焦点不会改变。是什么赋予了?

如果我加入,警报永远不会触发警报:

acceptCheckId.addEvent("click", function() { 
     alert("foobar"); 
     acceptCheckId.focus(); 
    }); 

回答

0

什么是您的输出HTML是什么样子?不知道你的内容是如何编写的,这是不可能的。

0

使用setTimeout

setTimeout(function(){ 
    acceptCheckId.focus(); // this may execute ok 
},200); 

当你点击一个元素,该元素将获得焦点,你现在不能集中等元素,因为该元素将先被集中,并使用setTimeout尝试,可能会延迟一段时间,并且在此之后,您可以将焦点设置为任何元素。

看点击执行顺序: 点击 - >执行的onclick功能 - >获得焦点 - >

在步骤2中,的onclick功能,将焦点设置到其他元素,但是,执行后onclick函数,元素本身应该得到焦点,这由web浏览器完成!