我找不到错误。你有一个吗?
您会看到一个对象定义为一个具有3种方法的对象:gt(get),add(add),rm(remove)。 然后我添加了一个eventhandler(Ev),只做了一件事:在pageload上加载它并向Element(elm)添加一个click事件。
var Obj = {
gt: function(elm) {
if (typeof === "string") {
return document.getElementById(elm);
} else {
return elm;
}
},
add: function(elm, dst) {
var elm = this.gt(elm);
var dst = this.gt(dst);
dst.appendChild(elm);
},
rm: function(elm) {
var elm = this.gt(elm);
elm.parentNode.removeChild(elm);
}
};
var Ev = {
add: function () {
if (window.addEventListener) {
return function(elm, type, fn) {
Obj.gt(elm).addEventListener(type, fn, false);
};
// IE <8 Suppport
} else if (window.attachEvent) {
return function(elm, type, fn){
var f = function() {
fn.call(Obj.gt(elm), window.event);
};
Obj.gt(elm).attachEvent('on' + type, f);
};
}
}()
};
Ev.add(window, "load", function(){
Ev.add("src", "click", function(){ // Source-Div with id "src"
var elm = document.createElement("p");
elm.innerHTML = "Test";
Obj.add(elm, "dst"); // Destination-Div with id "dst"
);
});
});
答案 0 :(得分:4)
你错过了一个词:
if (typeof === "string") {
应该是
if (typeof elm === "string") {