我正在尝试使用原型js对某些文本输入使用keyup事件。但事件永远不会被解雇。这是我的代码:
document.observe("dom:loaded", function() {
$$('.inputclass').each(function(element) {
console.log(element);
element.observe('keyup', alert("here"));
});
});
console.log工作正常,我可以看到chrome dev工具中记录的元素,但警报从未发生过。
我在页面上有一个简单的textarea,如下所示:
<textarea class="inputclass"></textarea>
答案 0 :(得分:2)
首先,您需要将alert('here')
包装在匿名函数中,因为observe()
方法期望传递给它的函数不是alert()
的返回(undefined
)像这样。
function(){
alert('here');
}
其次你可以使用一些数组迭代器对所有数组对象做同样的事情,比如这个
$$('.inputclass').invoke('observe','keyup',function(){
alert('here');
});