var menu = {
minibox: document.getElementById("hypt_opContainer"),
miniboxoptions: [document.getElementById("hypt_op"),
document.getElementById("style_op"), document.getElementById("js_op")]
};
Object.prototype = {
toggleVisibility: function(e) {
e.style.display = (e.style.display == "none") ? "block" : "none";
}
};
menu.miniboxoptions[0].addEventListener("click", menu.minibox.toggleVisibility);
单击此框时,它不会执行任何操作 有什么问题?
答案 0 :(得分:2)
2个问题:并非所有浏览器都支持
中的addEventListener
和参数e
toggleVisibility: function(e) {...
不是元素。它是一个事件对象,因此e.srcElement
应该再次使用 - 大多数浏览器。更多:https://developer.mozilla.org/en/DOM/element.addEventListener
提示:永远不要碰到Object.prototype!
答案 1 :(得分:1)
我不知道以这种方式创建原型是有效的。它的编写方式清楚地意图取代原型而不是扩展原型。
我会写
Object.prototype.toggleVisibility = function(e) {
e.style.display = (e.style.display == "none") ? "block" : "none";
};