这个 jQuery 不工作。我知道这看起来有点奇怪。但是我怎样才能让它工作呢?
JavaScript 部分中的 CSS 修改不起作用。在 .blur 上,如果字段中没有任何内容,则 jQuery 应该更改文本框的颜色。
如果该blur
字段中没有任何内容,则文本应更改并且文本颜色应更改。如果字段中focus
有“搜索范围”,则文本应更改并且文本颜色应更改。
我必须删除内联 JavaScript 吗?
这个 jQuery 不工作。我知道这看起来有点奇怪。但是我怎样才能让它工作呢?
JavaScript 部分中的 CSS 修改不起作用。在 .blur 上,如果字段中没有任何内容,则 jQuery 应该更改文本框的颜色。
如果该blur
字段中没有任何内容,则文本应更改并且文本颜色应更改。如果字段中focus
有“搜索范围”,则文本应更改并且文本颜色应更改。
我必须删除内联 JavaScript 吗?
试试这个,看看它是否能解决问题:
$("#additionalsearch").focus(function(){
if (this.value == "Search Within")
{
this.value = "";
$(this).css('color','#000000');
}
});
$("#additionalsearch").blur(function(){
if (this.value == "")
{
this.value = "Search Within";
$(this).css('color','#a9a9a9');
}
});
您将不得不删除内联代码,因为它在事件处理程序之前运行。
您应该只保留 HTML 以供个人使用,将所有逻辑和 JavaScript 放在<script>
标签内和 .JS 文件中会更好。
jQuery
$(document).ready(function() {
$('input#additionalsearch').focus(function() {
if (this.value === 'Search Within') {
$(this).css('color', '#000000').val('');
}
});
$('input#additionalsearch').blur(function() {
if (this.value === '') {
$(this).css('color', 'red').val('Search Within');
}
});
});
HTML
<input id="additionalsearch" type="text" value="Search Within" />
通过 Firebug 运行代码并查看 css 属性/属性是什么。内联应该覆盖 javascript 属性设置/css 样式属性,除非您使用重要!属性。
我最好的猜测是内联函数首先运行,所以当该字段为空白并且您单击时,它被设置为内联函数。所以不管怎样,当调用 jquery onblur 时,该字段中总是有文本(因为即使它没有并且调用了 onblur,内联函数也会在 jquery 运行之前添加文本)。
你能详细说明你想要发生什么吗?也许我可以帮忙。