2012-05-02 6 views
0

Je me demandais comment je pourrais obtenir ce soit en direct? J'ai une boîte de texte qui est récupérée via ajax, et son exclusion des scripts déjà chargés, j'ai une cause du dom que je suppose. Tous ceux qui, je l'ai joué avec .live() mais je dois généralement un élément pour l'accrocher à l'ex/$('blah').live();, mais je me suis retrouvé me gratter la tête sur celui-ci lolJe veux savoir comment faire de ce .live() dans jquery

(function($) { 

$.fn.charCount = function(options){ 

    // default configuration properties 
    var defaults = {  
     allowed: 140,  
     warning: 25, 
     css: 'counter', 
     counterElement: 'span', 
     cssWarning: 'warning', 
     cssExceeded: 'exceeded', 
     counterText: '' 
    }; 

    var options = $.extend(defaults, options); 

    function calculate(obj){ 
     var count = $(obj).val().length; 
     var available = options.allowed - count; 
     if(available <= options.warning && available >= 0){ 
      $(obj).next().addClass(options.cssWarning); 
     } else { 
      $(obj).next().removeClass(options.cssWarning); 
     } 
     if(available < 0){ 
      $(obj).next().addClass(options.cssExceeded); 
     } else { 
      $(obj).next().removeClass(options.cssExceeded); 
     } 
     $(obj).next().html(options.counterText + available); 
    }; 

    this.each(function() {    
     $(this).after('<'+ options.counterElement +' class="' + options.css + '">'+ options.counterText +'</'+ options.counterElement +'>'); 
     calculate(this); 
     $(this).keyup(function(){calculate(this)}); 
     $(this).change(function(){calculate(this)}); 
    }); 

}; 

})(jQuery); 
+1

Votre question semble incomplète. Quel comportement voulez-vous être en direct? Quel est le code HTML qui est chargé dynamiquement? Jusqu'à présent, vous venez de montrer une méthode jQuery, mais pas montré l'utilisation de cette méthode ou du code HTML avec lequel vous voulez travailler. Nous avons besoin de l'autre moitié du problème que vous essayez de résoudre. – jfriend00

+0

Eh bien, ce n'est pas le contenu chargé que je rencontre des problèmes, j'essaie juste de comprendre comment transformer cette fonction de requête en une fonction live afin qu'elle cible les futurs éléments DOM. Le futur élément Dom est juste une boîte de texte de base avec un ID, désolé si je ne l'ai pas dit correctement. – Sin

+0

Les méthodes jQuery ne sont pas actives, les gestionnaires d'événements peuvent être mis en ligne. Donc, la question n'a toujours pas de sens. Veuillez décrire EXACTEMENT le problème que vous essayez de résoudre, et non ce que vous pensez que la solution est. – jfriend00

Répondre

3

jQuery « live » (dépréciée) ou «on» fonctionne uniquement avec les événements click, dblclick, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover et mouseup.

Si vous avez juste besoin d'utiliser simplement $('selector').live() utiliser cette bibliothèque:

livequery: https://github.com/brandonaaron/livequery

$('selector').livequery(function(){}); 
+0

Cela a fait l'affaire! Merci beaucoup – Sin

Questions connexes