我有隐藏的表单字段,并且当按下按钮时,隐藏字段的值会更改。现在,我添加了一个观察者到隐藏字段,监听发生的变化。但是,出于某种原因,即使隐藏元素的值发生了变化,事件侦听器也从不会踢入。我正在使用Prototype和Firefox 3.6。以编程方式操作DOM元素值不会触发onchange事件
代码看起来大致是这样的:
button.observe('click', function(event) {
hiddenField.setValue(someValue);
});
hiddenField.observe('change', function(event) {
alert('It works!');
});
有没有人有一个线索,为什么后者观察者不执行?
谢谢!
我应该为自己没有想到这一点而捶胸顿足。非常感谢David。因为我已经使用了Prototype,所以我只是使用了hiddenField.fire('custom:change'),它的功能就像一个魅力:) – 2010-05-16 01:21:48
是的,如果触发非本地事件对你来说没问题,你可以只激发命名空间的自定义事件像你展示:) – 2010-05-16 02:23:09