这个 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 运行之前添加文本)。
你能详细说明你想要发生什么吗?也许我可以帮忙。