2012-07-28 72 views
1

我有一個JQuery插件,它計算textarea中的字符。 但是,如果我在運行時添加textarea使用append("<textarea></textarea>")爲例。如何在運行時添加的對象上執行Jquery插件

如何在附件textarea上執行此插件?

$("textarea").charCount({ 
         allowed: 200,  
         warning: 30, 
         counterText: 'Characters left: '  
       }); 

將在運行時的textarea ..

$("#btnAddStep").click(function() { 
       var text = "" + 
       " <div class='row-fluid'>" + 
       " <div class='span10'>" + 
       "  <input type='text' class='span12' placeholder='Type something…'>" + 
       " </div>" + 
       " <div class='span2'>" + 
       " <div class='btn-group'>" + 
       "  <button class='btn btn-mini' id='btnAddStep'><i class='icon icon-plus'></i></button>" + 
       "  <button class='btn btn-mini'><i class='icon icon-minus'></i></button>" + 
       " </div>" + 
       " </div>" + 
       " </div>" ; 

       $("#response>#steps").append(text); 
      }); 
+1

您需要委託處理程序這使用jQuery 1.7的文檔對象'。對()'方法,或以前的版本,'.delegate()'方法。 – Ohgodwhy 2012-07-28 21:23:24

+0

你能告訴我一個例子嗎? – Adham 2012-07-28 21:24:12

+1

我需要看到調用函數來計算字符的處理程序。沒有,這就像在風中撒尿。 – Ohgodwhy 2012-07-28 21:25:01

回答

0

內爲您使用的文本區域添加到div,添加到您的插件的方法的調用按鈕的點擊事件處理程序。

由於我看不到整個代碼,因此我會假定該插件在運行時也會自動調用,在$(document).ready()或類似內容中。如果在調用這個函數後添加textarea,則需要重新運行該插件。

您只需將您發佈的代碼添加到您的點擊事件代碼中,但爲了提高效率,而不是在每個文本區域重新運行插件,我建議您再添加一個選項用特定的類搜索textareas,然後在插件運行後刪除該類。這樣,你可以給這個類的所有新的文本區域,並且在插件運行後,它將永遠不會再看到它們。

祝你好運!

編輯:我的一個朋友正在看我的肩膀,並建議我澄清一點:你不必以任何方式修改你的插件(授予,我看不到完整的代碼,所以我不能100%確定這個,但我們只是說我95%肯定)。你會做什麼是改變事件處理(以及在做的document.ready任何呼叫 - 從技術上講,是事件處理程序),像這樣:

$("#buttonID").click(function() { 
    ...your code... 
    $("#placeToAddNewTextArea").append("<textarea class="newTA"></textarea>"); 
    $("textarea.newTA").charCount({ ......... }); 
    $("textarea.newTA").removeClass("newTA"); 
}); 

換句話說,你可以使用CSS的標誌並在插件代碼之外創建,使用和刪除它們。

0

看看jQuery SuperLive。

據作者:

jQuery的SuperLive是我最喜歡的新插件。 Allen Mackley和我創建了這個解決方案來解決大量的應用JS問題。無論頁面上的元素何時存在,我們都需要插件來工作,並且,如果添加了屬性,插件應重新啓用。

SuperLive完成所有這些工作。

這不適用於IE。即不支持突變事件。 還需要jQuery的1.7

演示視頻:http://www.youtube.com/watch?v=mh5mGR2GyLY

下載:http://code.google.com/p/jquery-superlive/downloads/list

相關問題