2010-11-01 6 views
0

J'ai un champ de saisie créé à la volée. Et j'ai besoin de lier une interaction plugin du widget jQueryUI.Action de plugin Bind pour les éléments à la volée

Mon code

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

C'est des béquilles et la deuxième partie ne fonctionnera pas. Des idées pour lier l'interaction du plugin à l'élément à la volée?

PS! Et je ne peux pas et ne se lient pas à « clic », mais je ne connu aucune sur des solutions :(

Répondre

2

Ceci est un but du .livequery() plugin sert encore:

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

Une autre façon serait peut-être d'utiliser .live() sur un événement avant et vérifier si elle a été liée ... ça dépend du plug-in est écrit que, par exemple mousedown arrive avant click (quand un utilisateur clique), comme celui-ci:

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

Je sais c'est 2 ans mais j'ai cherché plus de un mois pour corriger ce problème similaire que j'ai et je l'ai trouvé! –

Questions connexes