javascript - 如何在对象项中添加两个对象
问题描述
最近,我问了一个关于如何为 addEventListener 创建 shortand 的问题,结果是:
var dom = {
id: function(elementId) {
var element = document.getElementById(elementId);
return Object.create(element, {
on: {
value(event, fn, options) {
element.addEventListener(event, fn, options);
}
}
})
}
};
如果我想添加两个 Object.create 怎么办?我该如何退货?甚至可能吗?
解决方案
如果我正确理解您的问题,您可以向 dom 添加几个函数并通过在每个函数中返回 this 来链接它们。然后像这样称呼他们:
dom.id("el").on("click",()=>console.log("clicked") ).changeText("replacement text");
var dom = {
id: function(elementId) {
var element = document.getElementById(elementId);
return Object.create(element, {
on: {
value(event, fn, options) {
element.addEventListener(event, fn, options);
return this;
}
},
changeText: {
value(text) {
element.innerText = text;
return this;
}
}
})
}
};
dom.id("el").on("click", () => console.log("clicked") ).changeText("replacement text");
<div id="el">This text will be replaced</div>
推荐阅读
- .net - 使用 ng build 而不是 ng serve 时的网关超时
- python - Pandas 每组只选择前 3 个 YYYYMM
- java - 如何在骨架实现(即类)中实现一个接口,其两个实例可以相互依赖,而不需要向下转换?
- firebase - 有没有办法在 Firebase 安全规则中验证用户的身份验证令牌?
- kotlin - IntelliJ IDEA 不断将“序列化”突出显示为错误
- postgresql - Postgresql,如何导入大的 bak.gz 文件?
- java - Java中的动态类
- c++ - 现代c ++中的变体,最好的方法是什么
- json - 在 JSON 模式中使用“鉴别器”关键字
- python - Jupyter Notebook 不再自动在浏览器中打开