我想有一個文本輸入焦點選擇所有文本里面,如果有的話。這樣,我可以點擊文本輸入並開始輸入,而不必清除當前值,假設我想覆蓋文本輸入中已有的內容。jQuery設置選定的文本
我該如何用jQuery做到這一點?
我想有一個文本輸入焦點選擇所有文本里面,如果有的話。這樣,我可以點擊文本輸入並開始輸入,而不必清除當前值,假設我想覆蓋文本輸入中已有的內容。jQuery設置選定的文本
我該如何用jQuery做到這一點?
只選擇文字,你會做這樣的事情:
$(".inputs-to-which-you-want-to-apply-this-behavior").focus(function() {
this.select();
});
另一種方法,它不選擇文本,而是刪除它(只更換如果你離開框爲空,將是這個樣子:
$(document).ready(function() {
$(".inputs-that-currently-have-a-default-value-in-them").each(function() {
var original = $(this).val();
$(this).focus(function() {
if ($(this).val() == original)
$(this).val('');
});
$(this).blur(function() {
if ($(this).val() == '')
$(this).val(original);
});
});
});
(我更喜歡後一種方法,如果文本在開始的文本框中輸入的是佔位符文本,如「輸入您的姓名」,但如果框中的內容是,例如,我上次輸入的名稱最初只是選擇文本的原始想法肯定會更好。)
從我嘗試的這是我使用的大多數瀏覽器的默認行爲。
雖然select()
函數做別人曾說過的功能。相反,我認爲它可以將輸入字段的值設置爲空白,如果該字段爲焦點。
喜歡的東西:
$(":input").focus = function(){if(this.type=="text"){value=""}return true};
是不是在大多數瀏覽器的默認行爲?我只是用FireFox,Opera和IE試了一下,當我選中它時,它們都會突出顯示文本輸入的內容。 – 2009-08-21 21:48:33
克里斯,對不起。看起來你是對的。我不記得是什麼讓我走下了尋找這條路的道路,但我被搜索到了,所以我忘記了......試試:) – 2009-08-22 14:49:30
啊,我現在記得。當您將鼠標放入輸入字段時,文本將被*選中。但是你是正確的,它*是你輸入字段中的* tab時的默認行爲。我將編輯帖子。 – 2009-08-22 19:25:08