2010-02-22 76 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的解决方案相同的理论,但是,它会在将文本框文本重新设置为原始字符串之前添加将文本框文本设置为空字符串的特定步骤。希望这可以帮助!