在我的项目中,我检查Select2插件是否以这种方式加载
[[NSFileManager defaultManager] createFileAtPath:path contents:urlData attributes:nil];` with `[urlData writeToFile:path atomically:YES];
但现在我将尝试验证加载的Select2插件的版本(3.5.X或4.X)。我想也许你可以检查版本4.X中是否有版本3.5.X中没有的选项/功能。 据你说,它可行吗?我怎么能这样做?谢谢
答案 0 :(得分:5)
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进行测试
答案 1 :(得分:4)
Select2 v3&的事件不同v4!您可以简单地调用任一版本的事件来仅运行该版本的代码。如果事件不存在,则将被忽略。如果您需要在change
事件中进行测试,那么v3& v4有一个共同点,看看下面的代码:
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
}
});
P.S。要检查jQuery函数是否可用,isFunction
会派上用场。
var s2Exists = $.isFunction( $.fn.select2 );