gpt4 book ai didi

javascript - style.color if 语句不起作用

转载 作者:行者123 更新时间:2023-12-02 18:26:48 25 4
gpt4 key购买 nike

我正在尝试编写一些用于输入/退出(onfocus/onblur)文本字段的JavaScript。我想要褪色的“预先输入的”文本,当您输入该字段时该文本就会消失。问题是测试是否应该删除文本框的值。一种方法是在输入时检查文本字段的值,如果它等于预先输入的文本,则该值设置为空,如下所示:

if(field.value=='username'){
field.value=''; //removes pretyped text
field.style.color='rgb(0, 0, 0,)'; //turns text black
}

但是,用户可以复制预先输入的文本,并且在输入该文本后,它也将被删除。我想这是一个小问题,但我想尽可能专业。为了解决这个问题,我尝试测试文本字段中文本的颜色,因为用户无法复制灰色预输入文本的颜色。我使用了这段代码:

if(field.style.color=='rgb(150, 150, 150)'){ //default color in CSS
field.value=''; //removes pretyped text
field.style.color='rgb(0, 0, 0,)'; //turns text black
}

由于某种原因这不起作用。预先输入的文本仍然存在,并且颜色不会改变。我非常确定访问 CSS 颜色的语法是正确的 (field.style.color),因为它可以将颜色设置为黑色(但仅在测试字段值时)。

感谢任何帮助:)

编辑:我的实际代码中没有多余的逗号。

最佳答案

正如 @MichaelBerkowski 所说,field.style.color 的值未定义。

选项 1

如果您在 JavaScript 中设置该值:

txt.style.color = 'rgb(150, 150, 150)';

你的代码应该可以工作。请参阅this fiddle .

选项 2

您还可以使用:

window.getComputedStyle(this).getPropertyValue('color');

这将获取 CSS 中设置的值。请参阅this fiddle .

关于javascript - style.color if 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18293597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com