2010-11-24 38 views
0

我有一個田間其值usernam = 'Your Name' 經過此驗證失敗,就變成:'Enter Your Name'如何寫在jQuery的一個onfocus事件

但我想,當我點擊該字段或聚焦狀態這'Enter Your Name'empty string.消失

如何寫焦點事件在jQuery中?

回答

1
$field.bind('focus.emptyfield', function() { 
    if ($(this).val() == 'Enter your name') { 
    $(this).val(''); 
    } 
} 

假設$領域是你的jQuery參考您的輸入字段

注:的onclick和聚焦狀態之間,後者是處理,因爲它是設備無關

注2最好事件:總是使用命名空間的事件(所以你可以安全解除綁定以後他們)

+0

在JavaScript中具有默認值並不是很可維護,尤其是當它可能位於HTML中時。簡單地說[使用標準的HTML5`placeholder`屬性,併爲那些本身不支持`@ placeholder`的瀏覽器重用該值](http://stackoverflow.com/questions/4265331/how-to-write-a -onfocus-事件中,jQuery的/ 4265393#4265393)。 – 2010-11-24 09:55:02

+0

由於他沒有指定doctype,你不能假設他使用的是html5。 AFAIK他可以使用html4。該解決方案是通用的,簡單的答案是他的最新問題 – 2010-11-24 10:10:48

2

你在找什麼在HTML5已經被標準化爲the placeholder attribute。您應該使用此功能,然後使用JavaScript爲尚未本機支持的瀏覽器重新創建此功能。

只寫你的HTML這樣的:

<input type="text" name="username" placeholder="Enter your name"> 

它會自動工作在現代瀏覽器,不需要任何的JavaScript!

如果你想支持舊的瀏覽器,隨意使用我的Placeholder jQuery plugin,它會自動將HTML一樣在每一個瀏覽器有關的工作。只需包括插件,然後像這樣:

$('input, textarea').placeholder(); 

...和插件將照顧其餘的你。您可以在這裏查看演示:http://mathiasbynens.be/demo/placeholder

相關問題