代码之家  ›  专栏  ›  技术社区  ›  Aaron Palmer

如何将自定义回调函数附加到jquery自动完成扩展?

  •  5
  • Aaron Palmer  · 技术社区  · 16 年前

    1 回复  |  直到 14 年前
        1
  •  8
  •   ybo    16 年前

    对不起,我没有任何简单的答案来回答你的问题,我检查了插件源代码,没有找到任何机制让你做你想要的。我想你必须自己更新这个插件才能让它如你所愿工作。

    options 参数,然后使插件使用这些回调。首先,您必须修改插件代码。转到创建负责显示/隐藏自动完成控件的类的函数:

    $.Autocompleter.Select = function (options, input, select, config) {
    

    如果向下滚动,可以看到此函数返回一个带有 show() hide() 方法。您可以添加以下代码:

    hide: function() {
        ...
        options.showCallback && options.showCallback(); // Invoke callback function if set
    },
    ...
    show: function() {
        ...
        options.hideCallback && options.hideCallback(); // Invoke callback function if set
    },
    

    最后,在创建自动完成时,应将回调添加到选项中:

    $("#myTextBox").autocomplete("http://...",
    {
        showCallback : function() { /* do what you want here */ },
        hideCallback : function() { /* do what you want here */ }
    });