将事件侦听器附加到给定类的元素

时间:2010-12-19 16:25:23

标签: javascript prototypejs

所以这可能很容易,但我无法让它发挥作用。 我有3个filter类的文本输入。我想要的是将函数search()绑定到onkeypress事件。我知道我可以手动将它写入每个输入,如onclick="search()",但我不想使用内联的东西,只是原型函数。 我目前的代码是:

<input type="text" class="filter" id="id"/>
<input type="text" class="filter" id="title"/>
<input type="text" class="filter" id="quant"/>

Event.observe('.filter', 'keypress', function(){ // <<< this don't work :(
    alert('yey!');
});

1 个答案:

答案 0 :(得分:4)

我对prototypejs不太熟悉,但我相信你可以做到这一点:

示例: http://jsfiddle.net/patrick_dw/yAj3A/

$$('.filter').invoke('observe','keypress', function(){
    alert('yey!');
});

编辑:或者,如果您想使用命名函数,也可以这样做。

示例: http://jsfiddle.net/patrick_dw/yAj3A/1/

function search(){
    alert('yey!');
}

$$('.filter').invoke('observe','keypress', search);