Действие связывания плагина для элементов «на лету» - PullRequest
0 голосов
/ 01 ноября 2010

У меня есть поле ввода, созданное на лету. И мне нужно связать взаимодействие с плагином из виджета jQueryUI.

Мой код

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

Это костыли, и вторая часть не будет работать. Любые идеи, как связать взаимодействие плагина с элементом на лету?

PS! И я не могу и не буду привязываться к «щелчку», но я не знаю никаких излишних решений: (* ​​1008 *

1 Ответ

2 голосов
/ 01 ноября 2010

Это цель, которую .livequery() плагин все еще выполняет:

$("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);
});
...