2009-11-25 50 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瀏覽器完成!