我知道我可以使用placeholder="some text here..."
,但是如何使它在按鍵而不是焦點上移除文字? 是否有可能使用CSS或如何使用jQuery實現它?如何在文本框中保留文本,即使在焦點按下並在按下按鍵時刪除?
0
A
回答
2
如果你想一個通用的解決方案,讓您輕鬆地考慮任何默認文本值,可以考慮這種解決方案:
用的「填充文本」一類名稱的所有投入將默認爲它們被初始化的文本,並且如果在字段中留下空文本則重置。
的JavaScript:
jQuery(function ($) {
// Removes the defualt text on key press
function keyDown (e) {
var input = $(e.target);
if (input && !input.data('data-entered')) {
input.data('data-entered', true);
input.val("");
}
}
// Restore the default text if empty on blur
function blur(e) {
var input = $(e.target);
if (input && input.val() === "") {
input.data('data-entered', false);
input.val(input.data('blank-value'));
}
}
$('.populated-text').each(function() {
var input = $(this);
input.data('blank-value', input.val());
input.data('data-entered', false);
input.keydown(keyDown);
input.blur(blur);
});
});
例輸入:
<input type="text" value="Some text here..." class="populated-text">
<input type="text" value="Any default text you like" class="populated-text">
<input type="text" value="Will be used as empty" class="populated-text">
0
像下面的jQuery應該工作。
$('#myElement').keypress(function() { this.val = ''; }
0
使用Javacript:
<input type="text" onfocus="if(this.value == 'Your text'){this.value=''}" value='Your text' />
0
如果你在一個文本字段中的值和希望,只有當用戶輸入的文本框一鍵清除它,你可以這樣做:
$("#myTextfield").keypress(function() {
$(this).val("");
});
這下一位檢查用戶是否在文本字段中輸入了任何內容;如果不是,則在失去焦點時添加佔位符。
$("#myTextfield").blur(function() {
if($(this).val() === "") {
$(this).val("Search...");
}
});
1
它並不完美,但在這裏做像新的瀏覽器的佔位符是一個刺:
JS--
//when the input is clicked, select it's text so the cursor doesn't start typing in the middle of your placeholder text
$('input').on('click', function() {
//by selecting the input on click we mimic the focus event
$(this).select();
}).on('keyup', function() {
//if the input is un-touched
if (this.value == '' || this.value == '[Your Name]') {
//make the input in-active
this.className = '';
//and make sure the placeholder is still showing
this.value = '[Your Name]';
} else {
//since something has been entered into the input, add the active class to make the text black
this.className = 'active';
}
});
CSS -
input {
color : grey;
}
input.active {
color : black;
}
這使得輸入由d默認有灰色文本,當用戶輸入內容時,它會變成黑色。
HTML -
<input type="text" value="[Your Name]" />
這裏是一個演示:http://jsfiddle.net/2VfwW/
您可以將您的佔位符添加到placeholder
屬性,然後檢查該屬性的支持,如果它不存在您可以運行上面的代碼,但通過使每個輸入的值爲placeholder
屬性的值開始:
$(function() {
//find all input elements with a placeholder attribute
$('input[placeholder]').val(function() {
//set the value of this input to the value of its placeholder
return $(this).attr('placeholder');
});
});
+0
日Thnx,這個人是最接近我想做什麼!但我有問題如何指向第一個字母前的行而不刪除文本,因此當您按下文本時將替換爲輸入。 – FoxKllD 2012-04-06 02:48:54
相關問題
- 1. C#如何在按下某個按鍵時給出文本框焦點?
- 2. 按下按鍵時的焦點文本框
- 3. 當按下按鈕時,文本框會聚焦在按鈕上?
- 4. 如何保存在文本文件中按下的按鍵
- 5. 如何監聽即使沒有焦點時按下的按鍵
- 6. 如何知道何時在文本框中按下回車鍵?
- 7. 如何在文本框清除按鈕被按下時顯示我的按鈕?
- 8. 按下按鈕後設置文本框焦點
- 9. 按下按鈕時清除edittext焦點並隱藏鍵盤
- 10. jQuery檢測鍵盤按下然後焦點到文本框
- 11. C#當按下退格按鈕時,如何清除文本框
- 12. 如何在使用jquery的焦點文本框中按鍵時插入符號?
- 13. 按下「向下」(隱藏鍵盤)按鈕時清除TextView焦點
- 14. 如何爲keyPress提供文本框焦點並輸入按鍵
- 15. 按下按鈕並在文本框中增加值
- 16. 如何在按下鍵盤按鍵時更改焦點不同的J按鈕?
- 17. 如何在退格按下時清除多個文本框?
- 18. 如何在按下多行文本框的情況下按下時按下Ctrl + Tab按鈕,就像Tab一樣?
- 19. Android如何在按下或聚焦時使按鈕文本加粗
- 20. 按'回車'鍵時在輸入框中刪除文本
- 21. 當我在文本框中按下輸入按鈕時發射
- 22. 如何在按下按鈕時登錄到文本文件?
- 23. 如果文本框有焦點,按下特定鍵時執行功能
- 24. 如何在每次按下按鈕時使文本填充文本(標籤)?
- 25. 在文本框的按鍵事件中按下Enter鍵後取消Enter鍵
- 26. 如何在基於文本框具有焦點的情況下按下Enter鍵時觸發Button Click事件?
- 27. 如何在輸入鍵被按下後再次對焦文本框?
- 28. 聽取輸入鍵按下文本框
- 29. 如何在android中按下按鈕/文本視圖時更改文本顏色
- 30. 將焦點放在按鍵上的文本框
Thnx!但是你可以在聚焦時將光標放在第一行而不是字母之間? – FoxKllD 2012-04-06 02:55:11
http://jsfiddle.net/t5HMy/ - 改進版 – 2012-04-06 10:38:20
太棒了!正是我想要的! thnx很多人,不能自己做,學習jQuery。 – FoxKllD 2012-04-07 01:44:51