2012-05-02 54 views
0

我想知道我怎麼能得到這個生活?我有一個文本框,通過ajax獲取,其排除已加載的腳本,我有我所假設的dom的原因。任誰,我和.live(),但我發揮一般必須把它勾EX/$('blah').live();的元素,但我發現自己抓我的頭就這一個笑我想知道如何讓這個.live()在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

你的問題似乎是不完整的。你想成爲什麼樣的生活?什麼是動態加載的HTML?到目前爲止,您剛剛展示了一個jQuery方法,但未顯示任何對該方法或任何希望使用它的HTML的使用。我們需要您嘗試解決的另一半問題。 – jfriend00

+0

好吧,它不是我遇到的加載內容,我只是想弄清楚如何將這個查詢函數變成一個活動函數,因此它將針對未來的DOM元素。未來的Dom元素只是一個帶有ID的基本文本框,如果我沒有把它說出來,對不起。 – Sin

+0

jQuery方法不是直播的,事件處理程序可以直播。所以,這個問題仍然沒有意義。請準確描述您嘗試解決什麼問題,而不是您認爲解決方案是什麼。 – jfriend00

回答

3

jQuery的「活」(不建議使用)或「on」只需點擊,dblclick,keydown,按鍵,keyup,mousedown,mousemove,mouseout,mouseover和mouseup事件即可使用。

如果您只需要使用剛剛$('selector').live()使用這個庫:

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

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

這真是個竅門!感謝一堆:) – Sin