Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript multiselect.js与旧jquery的兼容性_Javascript_Jquery_Compatibility_Backwards Compatibility_Jquery Multiselect - Fatal编程技术网

Javascript multiselect.js与旧jquery的兼容性

Javascript multiselect.js与旧jquery的兼容性,javascript,jquery,compatibility,backwards-compatibility,jquery-multiselect,Javascript,Jquery,Compatibility,Backwards Compatibility,Jquery Multiselect,jQuery库规定的最低兼容级别是与jQuery 1.8+ 我想知道代码库的哪一部分导致了这种依赖性,我该怎么做才能使脚本更向后兼容 例如,当脚本在从“each”函数中调用的“split”函数上中断时: 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库规定的最低兼容级别是与jQuery 1.8+

我想知道代码库的哪一部分导致了这种依赖性,我该怎么做才能使脚本更向后兼容

例如,当脚本在从“each”函数中调用的“split”函数上中断时:

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();
  }
});

有没有不升级的原因?导致问题的行:options=$.extend({},$.fn.multiSelect.defaults,$this.data(),typeof option=='object'&&option);不升级的原因是因为它是一个大型遗留项目,没有自动测试和许多其他脚本依赖项。升级此脚本的jQuery将对其他脚本产生连锁反应,从而出现不必要的兼容性问题。很遗憾,升级和测试整个站点以使一个选择表单小部件看起来更好的努力水平是不可能的。