0

我有一个隐藏的表单域,当按下按钮时,隐藏域的值会改变。现在,我在隐藏字段中添加了一个观察者,监听发生的变化。但是,出于某种原因,即使隐藏元素的值发生了变化,事件侦听器也不会启动。我正在使用原型和 Firefox 3.6。

代码大致如下:

button.observe('click', function(event) {
  hiddenField.setValue(someValue);
});

hiddenField.observe('change', function(event) {
  alert('It works!');
});

有谁知道为什么后一个观察者不执行?

谢谢!

4

2 回答 2

1

你需要event.simulate.js

触发事件..

button.observe('click', function(event) {
  hiddenField.setValue(someValue);
  hiddenField.simulate('change');
});

然后观察它:

hiddenField.observe('change', function(event) {
  alert('It works!');
});
于 2010-05-16T01:14:47.347 回答
0

我认为input隐藏的元素不会响应该事件。

我不知道原型,但我认为触发的事件完全取决于浏览器。

这是JSbin上的 jQuery 示例。请注意,自己更改文本会触发事件,但是通过脚本更改值的下一部分代码不会触发它。

于 2010-05-16T01:12:23.917 回答