我有一个隐藏的表单字段,当按下按钮时,隐藏字段的值会改变。现在,我在隐藏字段中添加了一个观察者,监听发生的变化。但是,出于某种原因,即使隐藏元素的值发生变化,事件监听器也不会启动。我正在使用Prototype和Firefox 3.6。
代码看起来大致如下:
button.observe('click', function(event) {
hiddenField.setValue(someValue);
});
hiddenField.observe('change', function(event) {
alert('It works!');
});
有没有人知道为什么后一个观察者不会执行?
谢谢!
答案 0 :(得分:1)
解雇活动..
button.observe('click', function(event) {
hiddenField.setValue(someValue);
hiddenField.simulate('change');
});
然后观察它:
hiddenField.observe('change', function(event) {
alert('It works!');
});
答案 1 :(得分:0)
我认为隐藏的input
元素不会响应该事件。
我不知道原型,但我认为触发的事件完全取决于浏览器。
以下是JSbin上jQuery的示例。请注意,更改文本会自动触发事件,但是通过脚本更改值的下一部分代码不会触发它。