如何将自定义回调添加到jquery插件

时间:2016-04-05 13:07:06

标签: javascript jquery plugins callback select2

我想为Select2插件添加自定义功能(但我没有必要的知识),比如

$('.select2').select2({
    optionDrawCallback : function(li_element){
        return li_element.className += 'bg-'+li_element.text;
    }
});

然后我转到源代码(select2.full.js)并找到每个选项元素的创建位置,其中:

Results.prototype.option = function (data) {...}

但现在我无法找到如何触发我的功能。 我能够通过dataAdapter触发它,这应该是选择本身,但这不是我需要的。

任何建议都将非常感激。

1 个答案:

答案 0 :(得分:0)

我使用on jquery函数为类select2的点击事件添加了一个回调,它显示了默认/选定选项。只要select2的标记结构保持不变,这就可以正常工作。 请参阅此fiddle以获取演示。

$('.select2').on('click', function(li_element){
    $(this).siblings(".select2-container--open").find(".select2-results__option").each(function(index,el) {
        console.log($(el).text());
        $(el).addClass('bg-' + $(el).text());
    });
});