javascript - 输入框和 css 改变颜色

标签 javascript css user-interface frontend

我有一个如下所示的输入框,

<input id="basic-search" type="text" value="Enter keyword or phrase" title="basic-search" class="form-text" size="38" onclick = "this.className = 'focused'; javascript:Reset();" onblur = "javascript:Reset();" />

.focused 和 form-text 的 css 是,

.focused {
color:black;
}

.form-text
{
    background-color: #FFF;
    color: #CCC;
}

加载的输入框内容是'Enter keyword or phrase',最初是灰色的。单击此框并在输入错误时字体颜色变为黑色(效果很好)。当删除内容时,跳转到下一个字段或在鼠标上按下内容“输入关键字或短语”变为黑色。它应该仍然是灰色的。我应该在 css 中进行哪些更改?任何输入都会有所帮助。谢谢。

注意:我注意到 stackoverflow 中的“标题”字段可以正常工作。我希望我的银行以同样的方式工作。

最佳答案

使用 onfocus 而不是 onclick。另外,对于你的 onblur,附加 css 类:

jsFiddle:http://jsfiddle.net/QybRX/14/

<input id="basic-search" type="text" value="Enter keyword or phrase" title="basic-search" class="form-text" size="38" onfocus="this.value=''; this.className = 'focused'; javascript:Reset();" onblur = "basicSearch()" />
<input type="text"/>

<script>    
    function basicSearch()
    {
        var element = document.getElementById("basic-search");

        if ( element.value.length == 0 )
        {
            element.value = 'Enter keyword or phrase';
            element.className = 'form-text';
        }
        else
        {
            element.className = 'focused';
        }

        javascript:Reset();
    }
</script>

关于javascript - 输入框和 css 改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10384891/

相关文章:

javascript - 安装失败 'cordova-plugin-whitelist' :Error: cmd: Command failed with exit code 1

javascript - 在哪里包含 JS 文件 - 这重要吗?

.net - 在 asp.net 应用程序 View 中固定元素位置

javascript - 如何使最后一个 <li> 坚持特定高度的父级 <ul> 的页脚?

javascript - 从sql server数据库自动填充jsp中文本字段的值

css - Firefox 在文本字段顶部添加了一个额外的像素,如何删除它?

javascript - 使用 addClass/delay/removeClass 的 "right"方法是什么?

javascript - 用于获取用户输入并将其传递给批处理文件的 GUI

javascript - 用于 Rich Web Apps 的 KISS Javascript 框架

ios - 制作iOS和Mac UI元素 'shake'