将原型继承到 JavaScript 中的所有子元素
inherit prototype to all child elements in JavaScript
我想为每个 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");
}
如果我
理解你的问题,你想要这个:
Element.prototype.clickMe = function (func) {
this.addEventListener('click', function () {
func();
});
};
示范
但是,更改本机对象的原型通常被视为一种不好的做法。请参阅可维护的 JavaScript:不要修改不属于您的对象
相关文章:
- 原型js 如何使定期更新程序隐藏基于ajax响应的类元素
- 挂钩文档.使用函数原型创建元素
- 手动呈现原型JS元素对象
- 原型JavaScript Event.observe-如何观察可能存在或不存在的元素
- jQuery-类的仅原型元素
- 在不丢失原型的情况下返回函数上的元素
- 原型JS不删除选择元素
- 元素原型作为字符串
- JavaScript 原型 - 覆盖某些元素的 .scrollTo
- 将原型继承到 JavaScript 中的所有子元素
- 调用原型函数的元素是什么
- JavaScript 原型将方法附加到 DOM 元素
- 创建元素并使用继承的原型函数在加载时调用,而不是在单击时调用
- 原型:观察2个元素并传递不同的参数
- 如何迭代html元素原型的属性名称
- 多个元素原型不起作用
- 检查自定义元素原型是否源自特定原型
- 向DOM元素添加新属性与扩展DOM元素原型
- Javascript:获取父元素's原型' this '
- DOM元素原型