input 輸入框獲得/失去焦點(diǎn)時(shí)隱藏/顯示文字(jquery版)
輸入框默認(rèn)狀態(tài):

輸入框獲取焦點(diǎn)狀態(tài):

大家可以看效果圖的搜索輸入框,默認(rèn)顯示著“用戶名/Email”的提示,當(dāng)這個(gè) input 輸入框獲得焦點(diǎn)時(shí),就自動(dòng)清空等待用戶輸入,當(dāng)用戶啥也沒(méi)輸入就離開(kāi)這個(gè) input 輸入框時(shí),輸入框內(nèi)又再次顯示“用戶名/Email”的提示。是不是很常見(jiàn)?很多搜索、登錄、表單都會(huì)用到這個(gè)效果,但是我看了N多個(gè)網(wǎng)站,有90%以上是這么實(shí)現(xiàn)的:
<input type="text" value="搜索關(guān)鍵字" onfocus="if(this.value == '搜索關(guān)鍵字') this.value = ''" onblur="if(this.value =='') this.value = '搜索關(guān)鍵字'" />
我是非常反對(duì)把 javascript 寫(xiě)在 html 標(biāo)簽里的,這和 style 寫(xiě)在 html 標(biāo)簽里一樣,雖然不違反 W3C 標(biāo)準(zhǔn),但也不推薦這么寫(xiě)。因?yàn)椋?
1.完全沒(méi)有復(fù)用性可言,如果是個(gè)表單,輸入框很多,每個(gè)都需要這樣的效果,那就每個(gè)都這么處理嗎?
2.如果要修改其中的提示文字,費(fèi)時(shí)費(fèi)力又不好維護(hù)。
3.我們倡導(dǎo)結(jié)構(gòu)(html)、表現(xiàn)(css)、行為(javascript)三者分離,這才是一個(gè)好的頁(yè)面。
那要怎么寫(xiě)才能實(shí)現(xiàn)這個(gè)效果,而且既有復(fù)用性,又好維護(hù),又不需要把 js 寫(xiě)進(jìn) html 里呢?
具體方法如下:
首先肯定是引入jQuery
Html代碼:
<div><input type="text" value="提示測(cè)試" class="input_test" /></div>
<div><input type="text" value="請(qǐng)輸入搜索關(guān)鍵" class="input_test" /></div>
jQuery代碼:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('.input_test').bind({
focus:function(){
if (this.value == this.defaultValue){
this.value="";
}
},
blur:function(){
if (this.value == ""){
this.value = this.defaultValue;
}
}
});
})
</script>
只要在實(shí)現(xiàn)的input輸入框加上”input_test”這個(gè)class就可以輕松實(shí)現(xiàn)了
查看:Demo
- Jquery實(shí)現(xiàn)顯示和隱藏的4種簡(jiǎn)單方式
- JQuery顯示、隱藏div的幾種方法簡(jiǎn)明總結(jié)
- jquery和js實(shí)現(xiàn)對(duì)div的隱藏和顯示方法
- jQuery控制TR顯示隱藏的幾種方法
- jQuery控制TR顯示隱藏的三種常用方法
- jQuery效果 slideToggle() 方法(在隱藏和顯示之間切換)
- jQuery動(dòng)態(tài)顯示和隱藏datagrid中的某一列的方法
- jquery顯示隱藏input對(duì)象
- Jquery 點(diǎn)擊按鈕顯示和隱藏層的代碼
- JQuery實(shí)現(xiàn)隱藏和顯示動(dòng)畫(huà)效果
相關(guān)文章
jQuery插件FusionWidgets實(shí)現(xiàn)的Cylinder圖效果示例【附demo源碼】
這篇文章主要介紹了jQuery插件FusionWidgets實(shí)現(xiàn)的Cylinder圖效果,結(jié)合實(shí)例形式分析了jQuery使用FusionWidgets結(jié)合swf文件讀取xml數(shù)據(jù)并采用Cylinder圖展示的相關(guān)實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03jQuery實(shí)現(xiàn)可以編輯的表格實(shí)例詳解【附demo源碼下載】
這篇文章主要介紹了jQuery實(shí)現(xiàn)可以編輯的表格,涉及jQuery響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素的相關(guān)技巧,需要的朋友可以參考下2016-07-07jQuery實(shí)現(xiàn)動(dòng)態(tài)生成年月日級(jí)聯(lián)下拉列表示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)動(dòng)態(tài)生成年月日級(jí)聯(lián)下拉列表,結(jié)合具體實(shí)例形式分析了jQuery日期時(shí)間運(yùn)算構(gòu)造級(jí)聯(lián)下拉列表相關(guān)操作技巧,需要的朋友可以參考下2019-05-05jQuery 1.3 和 Validation 驗(yàn)證插件1.5.1
jQuery 1.3已經(jīng)新鮮出爐了,你可以通過(guò)jQuery 的官方博客查看相關(guān)細(xì)節(jié)。jQuery三歲了!2009-07-07jQuery插件ImageDrawer.js實(shí)現(xiàn)動(dòng)態(tài)繪制圖片動(dòng)畫(huà)(附源碼下載)
ImageDrawer.js是一款可以實(shí)現(xiàn)動(dòng)態(tài)繪制圖片動(dòng)畫(huà)的jQuery插件,接下來(lái)通過(guò)本文給大家介紹jQuery插件ImageDrawer.js實(shí)現(xiàn)動(dòng)態(tài)繪制圖片動(dòng)畫(huà)(附源碼下載),需要的朋友參考下2016-02-02jQuery向上遍歷DOM樹(shù)之parents(),parent(),closest()之間的區(qū)別
這篇文章主要是對(duì)jQuery向上遍歷DOM樹(shù)之parents(),parent(),closest()之間的區(qū)別進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12在easyUI開(kāi)發(fā)中,出現(xiàn)jquery.easyui.min.js函數(shù)庫(kù)問(wèn)題的解決辦法
easyUI是jquery的一個(gè)插件,是民間的插件,easyUI使用起來(lái)很方便,里面有網(wǎng)頁(yè)制作的最重要的三大方塊:javascript代碼、html代碼和Css樣式,但是很容易出現(xiàn)jquery.easyui.min.js函數(shù)庫(kù)問(wèn)題,小編教大家如何解決問(wèn)題,需要的朋友可以參考下2015-09-09分享有關(guān)jQuery中animate、slide、fade等動(dòng)畫(huà)的連續(xù)觸發(fā)、滯后反復(fù)執(zhí)行的bug
這篇文章主要介紹了分享有關(guān)jQuery中animate、slide、fade等動(dòng)畫(huà)的連續(xù)觸發(fā)、滯后反復(fù)執(zhí)行的bug的相關(guān)資料,需要的朋友可以參考下2016-01-01