multiselect.js jQuery 库的规定最低兼容性级别是jQuery 1.8+
我想知道代码库的哪一部分导致了这种依赖关系,我可以做些什么来使脚本更加向后兼容。
例如,当我尝试使用 1.3.2时,脚本会在 'split' 函数上中断,从 'each' 函数中调用:
Uncaught TypeError: Cannot call method 'split' of undefined jquery-1.3.2.min.js:12
o.fn.extend.data jquery-1.3.2.min.js:12
(anonymous function) jquery.multi-select.js:481
o.extend.each jquery-1.3.2.min.js:12
o.fn.o.each jquery-1.3.2.min.js:12
$.fn.multiSelect jquery.multi-select.js:478
这部分代码是导致损坏的原因:
return this.each(function () { // this line
var $this = $(this),
data = $this.data('multiselect'),
options = $.extend({}, $.fn.multiSelect.defaults, $this.data(), typeof option === 'object' && option);
if (!data){ $this.data('multiselect', (data = new MultiSelect(this, options))); }
if (typeof option === 'string'){
data[option](args[1]);
} else {
data.init();
}
});