我想知道如何对第三方插件进行附加费。例如,我想加载 select2() 插件,仅适用于非触摸浏览器。
(function( $ ){
$.fn.mySelect2 = function(options) {
var $container = $(this);
var DEFAULTS = {};
var options = $.extend(DEFAULTS, options);
return this.each(function(){
// only loads the select2 plugin on non touch browsers
if(typeof(window.ontouchstart) != 'undefined') {
$('.select2').select2(options);
}
});
}
})( jQuery );
希望能够写出以下内容:
$('.select2').mySelect2() // inits the plugin
$('.select2').mySelect2('destroy') // destroys the plugin
$('.select2').mySelect2({width: '220px'}); // inits the plugin with a rewritted option
前几行适用于初始化和编辑选项,但不适用于方法('destroy'、'readonly'、...)。
事实是我想对其他几个插件/库做同样的事情,我不知道第三方插件的每个方法或属性。
我怎样才能做到这一点 ?