我想为每个 DOM 元素添加一些函数,但我不想遍历所有元素。这是一个演示代码:
window.onload = function () {
/* get the constructor of document, which is Document
add the clickMe function to the prototype */
document.constructor.prototype.clickMe = function (func) {
this.addEventListener('click', function () {
func();
});
};
document.clickMe(clickDocument); // works
/* doesn't work, because the prototype of document.getElementById('random_btn')
does not have the function clickMe (makes sense) */
document.getElementById('random_btn').clickMe(clickRandomBtn);
}
function clickDocument() {
alert("clicked documet");
}
function clickRandomBtn() {
alert("clicked a random button");
}