2010-02-22 74 views
4

我試圖讓表單的默認行爲在您選擇到下一個輸入時選擇(或突出顯示)文本。我必須在我的密碼錶單字段中添加.select()函數才能在IE8中工作。是否有相當於jquery .select()取消選擇文本?使用jQuery在IE8上取消選擇模糊的文本框

 $("#MyTextBox").focus(function() { 
      $(this).select(); 
     }); 

     $("#MyTextBox").blur(function() { 
      // Deselect here 
     }); 

回答

5

這並不是說我知道,但是這應該爲你工作:

$(this).val($(this).val()); 

在這裏,您將字段的值設置爲自身。光標應該自動放在最後。

+0

太棒了! :)這是做到了。 – Victor 2010-02-22 08:37:34

5

James Wiseman發佈的答案在IE8中完美工作,但對我而言,至少在Firefox 3.6.x中無效。

我明白,原來的問題是特定於IE8,但是,以幫助那些尋找在FF和IE工程的單一解決方案,我用下面的代碼:

var temptext = $(textbox).val(); 
$(textbox).val(''); 
$(textbox).val(temptext); 

(其中textbox是要使用的文本框對象)。

它使用與James Wiseman的解決方案相同的理論,但是,它會在將文本框文本重新設置爲原始字符串之前添加將文本框文本設置爲空字符串的特定步驟。希望這可以幫助!