JavaScript插件与jQuery兼容
JavaScript plugin compatible with jQuery
我打算写一个JavaScript插件。我希望它能利用jQuery的特性,但如果页面上没有jQuery,它也会优雅地降级。
以幻灯片为例,jQuery用户将调用:$("#Placeholder").Slideshow();
纯JavaScript页面仍然可以使用它,只是功能更少(例如没有动画),或者只在某些浏览器中工作的功能:
Slideshow(Placeholder);
我对如何做到这一点的示例,最佳实践,教程感兴趣。
我没有写过任何非jquery的插件,但是如果你想让你的插件在没有jquery的情况下工作,我建议你用纯javascript写你的核心实现,并写一种通过jquery访问它的方式,在jquery-ish API中。
让我来说明一下,如果你的插件提供
doAwesomeStuff(domElement);
然后,如果jQuery可用,也这样做,
jQuery.fn.doAwesomeStuff = function (options) {
this.each(function () {
doAwesomeStuff(this[0]);
});
};
因此,如果jquery可用,该插件可以作为jquery插件使用,并使用jquery类API来访问它。如果没有,纯javascript API无论如何都是可用的,并且由于内部实现无论如何都应该是纯javascript,应该没有任何问题。
相关文章:
- jQuery脚本滚动在iDevices上不兼容
- 如何在jQuery/Javascript中使用OOP来传递一个跨浏览器兼容的值
- 如何测试 jQuery 3.0 beta 在浏览器中是否兼容 Promises/A+
- 尝试重新编写与v1.7.1兼容的jquery滑块
- 当我不在兼容模式下时,JQuery 在 IE 中表现得很奇怪
- 更改可爱的文件浏览器以与任何jquery版本兼容
- jQuery.change() 与 addEventListener 不兼容
- 插入到 DOM 中的 jQuery 不跨浏览器兼容
- jQuery 1.8.0 到 1.8.1 与 .on() 选择器不兼容
- 简单的jquery滑块 - (1)反向滑动方向和(2)Chrome兼容
- IE 9中的Javascript更改bgColor兼容问题?(没有JQuery)(没有console.log)
- jquery与否/跨浏览器兼容iframe调整大小(IE、Chrome、Safari、Firefox)
- jquery mobile和jquery ui不兼容
- 跨浏览器兼容的Javascript或jQuery添加选择元素的选项
- jQuery API兼容的微框架(Zepto除外)
- Jquery网格与Firefox的兼容问题
- 使jquery脚本1.5.2兼容when函数
- CSS3或jQuery/JavaScript动画,哪个更兼容
- HTML标签是否与jQuery .on('hover',…)兼容?
- Jquery 2脚本不兼容