我使用Event.observe
方法绑定事件;此方法在Prototype库中定义。
Event.observe(clickElem, "click", function(event) {
//operations
});
我要从我的代码中删除Prototype。
普通JavaScript中有Event.observe
的替代方法吗?
答案 0 :(得分:5)
是,标准和旧版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,那么你必须自己处理两个事件模型之间的差异。如果您打算使用其他库/框架,那么您将需要使用该库的/ framework的API。