Javascript 原型事件。观察替代方案?

Javascript 原型事件。观察替代方案?,javascript,dom-events,Javascript,Dom Events,我使用事件。观察绑定事件的方法;此方法在原型库中定义 Event.observe(clickElem, "click", function(event) { //operations }); 我将从代码中删除原型 事件是否有其他选择。请在普通JavaScript中观察?是的,标准和传统IE事件处理程序: // standard clickElem.addEventListener("click", function(evt) { }, false); // legacy IE cl

我使用
事件。观察绑定事件的
方法;此方法在原型库中定义

Event.observe(clickElem, "click", function(event) {
    //operations
});
我将从代码中删除原型


事件是否有其他选择。请在普通JavaScript中观察

是的,标准和传统IE事件处理程序:

// standard
clickElem.addEventListener("click", function(evt) {

}, false);

// legacy IE
clickElem.attachEvent("onclick", function(evt) {

});
通常会看到一些帮助器函数来简化跨浏览器事件处理程序

function addEvent(elem, eventName, fn) {
    if (typeof addEventListener !== "undefined") {
        elem.addEventListener(eventName, fn, false);
    } else {
        elem.attachEvent("on" + eventName, fn);
    }
}

// calling
addEvent(clickElem, "click", function(evt) {
    alert("You clicked me.");
});

如果您不打算使用Prototype,那么您必须自己处理两个事件模型之间的差异。如果计划使用另一个库/框架,则需要使用该库/框架的API。

是的,标准和旧IE事件处理程序:

// standard
clickElem.addEventListener("click", function(evt) {

}, false);

// legacy IE
clickElem.attachEvent("onclick", function(evt) {

});
通常会看到一些帮助器函数来简化跨浏览器事件处理程序

function addEvent(elem, eventName, fn) {
    if (typeof addEventListener !== "undefined") {
        elem.addEventListener(eventName, fn, false);
    } else {
        elem.attachEvent("on" + eventName, fn);
    }
}

// calling
addEvent(clickElem, "click", function(evt) {
    alert("You clicked me.");
});
如果您不打算使用Prototype,那么您必须自己处理两个事件模型之间的差异。如果您计划使用另一个库/框架,那么您将希望使用该库/框架的API