采用JQuery实现文本框的水印效果非常容易,效果如下:
代码片段,定义要应用水印效果的文本框的样式:
.watermark { color: #cccccc; }
将JavaScript代码封装成JQuery的插件:
(function ($) {
$.fn.watermark = function (options) {
var settings = $.extend({
watermarkText: "Input something here",
className: "watermark"
}, options); return this.each(function () {
if ($(this).val().length == 0 || $(this).val() == settings.watermarkText) {
//init, set watermark text and class
$(this).val(settings.watermarkText).addClass(settings.className);
} //if blur and no value inside, set watermark text and class again.
$(this).blur(function () {
if ($(this).val().length == 0) {
$(this).val(settings.watermarkText).addClass(settings.className);
}
}); //if focus and text is watermrk, set it to empty and remove the watermark class
$(this).focus(function () {
if ($(this).val() == settings.watermarkText) {
$(this).val('').removeClass(settings.className);
}
});
});
}
})(jQuery);
接下来直接在页面上使用:
<div class="search_box">
<input id="tb_search" type="text" />
</div> <script type="text/javascript">
$(document).ready(function () {
$("#tb_search").watermark({
watermarkText: "站内检索",
className: "watermark",
});
});
</script>
原文地址:http://www.mkyong.com/jquery/jquery-watermark-effect-on-text-input/