我能使用CSS设置onChange事件吗?

3

我希望在我的页面上所有的输入元素在发生更改时都触发一个函数。我能从CSS中实现吗?

我尝试了下面的代码:

<STYLE type="text/css">
   input {onChange: function() {alert("foo");};}
</STYLE>

在Google Chrome中无法正常工作。


CSS 与 JavaScript 和 DOM 事件有什么关系? - Nikita Rybak
对我而言,那是亵渎!CSS 用于样式,我的朋友,不是逻辑。 - Rajat
3个回答

5

CSS没有提供事件处理。如果您需要此功能,那么我会编写一个JavaScript函数,在页面加载时运行该函数。在函数中,遍历表单元素以查找所有标记名称为input的元素。对于每个元素,请添加事件处理程序。


但是,:hover、:focus、:blur 不被认为是事件吗?可以说它们是状态,而 :change 则是一个“纯事件”?在 DOM 中,这些被定义为事件。在 CSS 中,它们被称为“用户动作伪类”。因此,也许说“CSS 不提供事件处理”有点不准确?(我只是在这里随便想想。) - user3342816

1

不可以,因为这违背了CSS的本质。唯一接近的是伪类(如::focus :hover 等),但即使它们也只允许应用不同的样式。所以不能仅仅在CSS文件中编写JS代码并将其称为CSS :)


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接