JQuery元素观察者的原型风格

时间:2012-12-12 15:32:42

标签: prototypejs

我需要用新的替换旧的事件监听器代码,但不要删除旧的:

onchange="func1();func2();"

需要替换为:

onchange="newFunc();func1();func2();"

通过JQuery向元素onChange事件添加新代码很简单:

var element = $('element');
var _onchange = element.onchange;
element.onchange = function() {
        //some additional code
        if (typeof(_onchange) == 'function') {
            _onchange();
        }
};

现在我需要使用Prototype重写它。我想它会像:

element.observe('change', function() {

    // new code here
    // then old onChange

}.bindAsEventListener(element)));

如何获取现有的onChange代码?..

1 个答案:

答案 0 :(得分:1)

除了极少数情况外,您实际上不需要.bindAsEventListener()

所以将事件观察添加到元素

$('element').observe('change',function(){
    //onchange code
});

如果你这样做 - 它会将新代码添加为观察者而不删除该元素和事件的任何其他观察者设置