Jquery Select2插件版本检查
在我的项目中,我检查是否以这种方式加载了Select2插件
if (jQuery().select2)
但现在我将尝试validation加载了哪种版本(3.5.X或4.X)的Select2插件。 我想也许你可以检查版本4.X中是否有版本3.5.X中没有的选项/function。 据你说,它可行吗? 我怎么能这样做? 谢谢
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进行测试
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 } });
PS要检查jQuery函数是否可用, isFunction
会派上用场。
var s2Exists = $.isFunction( $.fn.select2 );