我计划编写一个JavaScript插件。我希望它能利用jQuery功能,但如果页面中没有jQuery,也会优雅地降级。
例如,对于幻灯片,jQuery用户会调用:
$("#Placeholder").Slideshow();
普通的JavaScript页面仍然可以使用它,只需要较少的功能(例如没有动画),或仅在某些浏览器中有效的功能:
Slideshow(Placeholder);
我会对示例,最佳实践以及如何执行此操作的教程感兴趣。
答案 0 :(得分:1)
我没有编写任何非jquery插件,但是如果你想让你的插件在没有jquery的情况下工作,我建议你用普通的javascript编写你的核心实现,并写一个通过jquery访问它的方法,在jquery中-ish API。
让我举例说明,如果您的插件提供,
doAwesomeStuff(domElement);
然后,如果jQuery可用,也可以这样做,
jQuery.fn.doAwesomeStuff = function (options) {
this.each(function () {
doAwesomeStuff(this[0]);
});
};
因此,如果jquery可用,该插件可以用作jquery插件,使用jquery-ish API来访问它。如果没有,普通的javascript API无论如何都可用,并且由于内部实现无论如何都应该是普通的javascript,应该没有任何问题。