use*_*759 5 javascript html5 prototype prototypal-inheritance
我们在工作时使用自定义JavaScript库:
DOM.__proto__ = Library.prototype;
Run Code Online (Sandbox Code Playgroud)
快速传输内部函数/属性DOM对象,以便它可以像jQuery一样使用它.
对于一个新项目,我们需要为Internet Explorer实现它,但不幸的__proto__是IE不支持.
对于这种填充物的任何想法,解决方法?该要求仅限IE10(但IE9也不错).
您可以用 API 包装它,而不是直接扩展 DOM 元素;
// Wrapping Constructor
function Library(element) {
this.element = element;
}
// Whatever it is your library does
Library.prototype = {
// some example method
html: function(markup) {
// refer to "this.element" instead of "this"
this.element.innerHTML = markup;
}
};
// example
var wrappedElement = new Library(document.getElementById('unique'));
// refer to the API rather than the Element directly
wrappedElement.html('<span>Hello World</span>');
Run Code Online (Sandbox Code Playgroud)
您还可以通过使用此技术安全地子类化 Array来进一步扩展 Library 。
希望这有帮助,谢谢。
| 归档时间: |
|
| 查看次数: |
2112 次 |
| 最近记录: |