绑定即时元素的插件动作

时间:2010-11-01 13:57:26

标签: jquery jquery-ui jquery-plugins

我有一个即时创建的输入字段。我需要绑定来自jQueryUI小部件的插件交互。

我的代码

$("select[name='tab_content_length']").live('click', function(){
    $(this).selectmenu({ style: "dropdown"});
});
$("select[name='tab_content_length']").trigger('click');

这是拐杖,第二部分不起作用。有关如何将插件交互绑定到动态元素的任何想法吗?

PS!我不能也不会绑定“点击”,但我不知道任何过度解决方案:(

1 个答案:

答案 0 :(得分:2)

这是.livequery() plugin仍在服务的目的:

$("select[name='tab_content_length']").livequery(function(){
    $(this).selectmenu({ style: "dropdown"});
});

另一种方法可能是对先前事件使用.live()并检查它是否已绑定...这取决于插件的编写方式,例如mousedown发生在click之前(当用户点击时),如下所示:

$("select[name='tab_content_length']").live('mousedown', function(){
  if(!$.data(this, 'menubound')) //prevent re-binding the plugin
    $(this).selectmenu({ style: "dropdown"}).data('menubound', true);
});