2015-04-01 48 views
0

當用戶在輸入字段1中輸入一些「垃圾」時,blur事件觸發一個函數來通知錯誤,然後觸發錯誤的字段爲select()。這在IE和Safari中運行良好,但Firefox和Chrome跳過select()。如果我使用FireBug來瀏覽代碼,它可以按照設計工作。在Firefox和Chrome中選擇方法失敗

下面是代碼樣本:

function checkForJunk(fld) { 
 
    if (fld.value == 'junk') { 
 
    alert('please take out the junk'); 
 
    fld.select(); 
 
    } 
 
}
<form name="junk" action="junk.htm" method="post"> 
 
    Input1: 
 
    <input type="text" name="morejunk" value="" onBlur="checkForJunk(this);" /> 
 
    <br> 
 
    Input2: 
 
    <input type="text" name="evenMorejunk" value="" onBlur="checkForJunk(this);" /> 
 
</form>

+0

它工作正常,我對鉻你有沒有試過fld.focus()? – giordanolima 2015-04-01 16:25:31

+0

要麼在模糊事件期間無法重新對焦元素,要麼因爲您正在聚焦另一個元素,所以該焦點事件發生在select()後面。如果將'select()'調用放在'setTimeout'中,它可以正常工作。 – 2015-04-01 16:32:21

回答

0

當我把選擇的setTimeout的

setTimeout(function() { 
     fld.select(); 
}, 1); 
相關問題