【发布时间】:2011-12-15 03:48:16
【问题描述】:
我现在在一个网站上工作,发现当我点击输入字段时,我为搜索实现的 jquery/javascript 对页面上的所有搜索框都应用了相同的效果。默认情况下,它会删除“搜索”文本并将其清除,以便您可以键入搜索词。我只希望它在单击的搜索框上执行此功能,而不是页面上的所有搜索框。但是,如果您look at this example,您会注意到当您单击页面顶部的搜索字段时,它会清除两者中的文本。我想我可以用.parent() 或其他东西来修复它,但我是一个 jQuery 新手。任何帮助将不胜感激。
也不知道为什么我的图标周围会出现边框,但我会解决这个问题。
这里是 jQuery 的搜索功能:
$(document).ready(function(){
$('.search-box').textdefault({'text':'Search'});
});
(function($){
$.fn.textdefault = function(settings){
var Elements = this;
var settings = $.extend({}, $.fn.textdefault.defaults, settings);
return Elements.each(function(){
if($(Elements).is("input")){ TextDefault( $(Elements) ); }
});
function TextDefault(Input){
if (Input.val().length==0) Input.val(settings.text);
Input.focus(function () {
if (Input.val()==settings.text) Input.val('');
});
Input.blur(function () {
if (Input.val().length==0) Input.val(settings.text);
});
}
};
$.fn.textdefault.defaults = {
text: 'Search'
};
})(jQuery);
谢谢! 泰勒
【问题讨论】: