Jquery Select2 插件版本检查
Posted
技术标签:
【中文标题】Jquery Select2 插件版本检查【英文标题】:Jquery Select2 plugin version check 【发布时间】:2016-06-13 21:50:30 【问题描述】:在我的项目中,我检查 Select2 插件是否以这种方式加载
if (jQuery().select2)
但现在我将尝试验证加载了 Select2 插件的哪种版本(3.5.X 或 4.X)。我想也许您可以检查版本 4.X 中是否引入了版本 3.5.X 中不存在的选项/功能。 在你看来,可行吗?我该怎么做?谢谢
【问题讨论】:
【参考方案1】:Select2 4.0 中有一个新的isOpen
方法。
你可以在你的开发者工具栏中使用类似的东西:
try
$("#a-select2-element").select2('isOpen');
'select2 v4.x';
catch(e)
'select2 v3.x';
使用 Select2 v3.5.3 和 v4.0.3 测试
【讨论】:
我的朋友,你节省了我的时间【参考方案2】:Select2 v3 和 v4 的事件不同!您可以简单地调用任一版本的事件来仅为该版本运行代码。如果事件不存在,它将被忽略。如果您需要在 v3 和 v4 共有的 change
事件中进行测试,请查看以下代码:
var $el = $('#your-element'),
s2Version3 = false,
s2Version4 = false;
$el.on( 'select2:opening', function()
// this event only works for v4
s2Version4 = true;
);
$el.on( 'select2-opening', function()
// this event only works for v3
s2Version3 = true;
);
$el.on( 'change', function()
if ( s2Version3 )
// change things for v3
else
// change things for v4
);
附:要检查 jQuery 函数是否可用,isFunction
会派上用场。
var s2Exists = $.isFunction( $.fn.select2 );
【讨论】:
以上是关于Jquery Select2 插件版本检查的主要内容,如果未能解决你的问题,请参考以下文章
在select2 jquery插件中没有调用initSelection