绑定到选择的liszt:准备好的事件

时间:2013-02-15 06:36:12

标签: jquery events jquery-chosen

我们正在使用jQuery Chosen插件将HTML select转换为一个不错的可搜索列表。我正在尝试的是在选择准备好后(即liszt:ready被触发)在列表底部添加一个链接。

我可以使用以下代码轻松绑定到liszt:showing_dropdown,它可以正常工作:

$("select").chosen().on("liszt:showing_dropdown", function(){
   console.log "List opened."
})

但是,当我尝试将liszt:showing_drop替换为liszt:ready时,它无效。我认为这是正常的,因为liszt:ready会在$("select").chosen()执行时触发。

以下是jquery.chosen.js的摘录,它会触发liszt:ready事件:

...
this.results_build();
this.set_tab_index();
return this.form_field_jq.trigger("liszt:ready", {
  chosen: this
});
...

有人可以指导我如何绑定liszt:ready事件吗?

1 个答案:

答案 0 :(得分:3)

我不确定这是否是正确的方法,但它对我有用:

  1. 收听liszt:ready活动
  2. 应用所选
  3. 手动触发liszt:ready
  4. 收听liszt:ready事件:

    $("select").on("liszt:ready", function(){
       console.log("Hey, I am ready!");
    })
    

    然后应用选择并手动触发liszt:ready

    ("select").chosen().trigger("liszt:ready");

    如果有更合适的方法可以告诉我。