Javascript 更改时更改颜色

Javascript 更改时更改颜色,javascript,jquery,html,Javascript,Jquery,Html,我的文档中有一些输入元素(文本、收音机、复选框等)。每种颜色都应该在改变时改变颜色 这是我的方法: $("document").on('click', 'change', 'select', function() { $(this).addClass("changed") }); 当我通过单击、输入文本或选择来更改输入元素的值时,背景色不会更改 .小错误。应该是: $(function () { $(document).on('click change', 'select, input

我的文档中有一些输入元素(文本、收音机、复选框等)。每种颜色都应该在改变时改变颜色

这是我的方法:

$("document").on('click', 'change', 'select', function() {
  $(this).addClass("changed")
});
当我通过单击、输入文本或选择来更改输入元素的值时,背景色不会更改


.

小错误。应该是:

$(function () {
  $(document).on('click change', 'select, input', function() {
//-^--------^---------^^^--------------^^^^^^^^^
    $(this).addClass("changed")
  });
});
同时将其包装在
文档
就绪功能中

的语法为:


小提琴:你有几个错误<代码>文档在向选择器提供文档对象时不应使用引号,而且还应在单个参数中用空格分隔事件,而不是两个不同的参数。试试这个:

$(document).on('click change', 'select', function() {
    $(this).addClass("changed")
});
如果要针对任何类型的表单控件,请使用
:input
选择器:

$(document).on('click change', ':input', function() {
    $(this).addClass("changed")
});

有关更多详细信息,请参见。

。关于(事件[,选择器][,数据],处理程序)
空格
逗号
?@RayonDabre Er。。。我没有理解你,但它应该作为一个字符串,而不是两个字符串。这就是我想说的。
“document”
不应该在引号中。
事件
应该用
空格(“”
直接与…”中的文档隔开一个或多个空格分隔的事件类型和可选名称空间,如“click”或“keydown.myPlugin.”,它们仅适用于选择框,而不适用于其他输入元素。这是给定的,因为您只选择了
select
元素。如果您想同时以
输入
选择
为目标,请在第二个参数中使用
:输入
。@user1170330,如果您在原始代码中指定了
“选择”
作为选择器,那么这是有意义的…只是为了确保OP知道,这将过滤事件,以便只从
$(document).on('click change', ':input', function() {
    $(this).addClass("changed")
});