2013-04-09 60 views
0

我正在使用jquery.keypad.js在用戶可以選擇的文本框中顯示特殊字符(ÁÁÀ...)。這是工作正常的文本框的第一個領域,當我通過點擊「添加更多」按鈕添加相同的文本字段它不workin。我點擊「添加更多」後再次調用該函數,即使它不起作用。可能是什麼問題?jquery.keypad.js不能用於動態添加文本框

$(function() { 
     $('.keypadactive').keypad({keypadClass: 'flatKeypad',keypadOnly: false, 
      layout: [<? echo utf8_encode("'ÁÃÅÀÂÄááåàâäÆæßÇçÐÉËÈÊéëèê', 'ÌÎÍÏìîíïÑñÒÔÖØÓÕðòôöøóõÚÜÙ' ,'ÛùûúüÝýÿÿ¡,°¹²³º¼½¾±µ', '£¥\$¢þ§©®¯·¨¬«»¦ª¶'");?> ], prompt: '',showOn: 'button', buttonImageOnly: true, buttonImage: 'images/spl.jpg'}); 
}); 

$('.add_more').live('click',function(){ 
    $(this).parent().parent().parent().parent().append($('#add_me_next').html()); 
    $(this).parent().html('<label class="w50">&nbsp;</label><input type="button" name="remove" value="Remove" class="button remove" />'); 

    setTimeout('keypadCall()',1000); 

}); 

function keypadCall(){ 
    $('.keypadactive').keypad({keypadClass: 'flatKeypad',keypadOnly: false, 
       layout: [<? echo utf8_encode("'ÁÃÅÀÂÄááåàâäÆæßÇçÐÉËÈÊéëèê', 'ÌÎÍÏìîíïÑñÒÔÖØÓÕðòôöøóõÚÜÙ' ,'ÛùûúüÝýÿÿ¡,°¹²³º¼½¾±µ', '£¥\$¢þ§©®¯·¨¬«»¦ª¶'");?> ], prompt: '',showOn: 'button', buttonImageOnly: true, buttonImage: 'images/spl.jpg'}); 
} 

回答

0

嘗試事件代表團是可利用的當DOM準備或$(document)本身.on()處理器最接近父:

$(document).on('click', '.add_more', function(){ 
    $(this).parent().parent().parent().parent().append($('#add_me_next').html()); 
    $(this).parent().html('<label class="w50">&nbsp;</label><input type="button" name="remove" value="Remove" class="button remove" />'); 

    setTimeout(keypadCall,1000); 

}); 

,並嘗試在setTimeout()去除()keypadCall功能。

+0

它不工作,並從setTimeout()中的kepadCall函數中刪除()它不進入函數。 – Vamsi 2013-04-09 06:06:40

+0

哦,我的錯誤,你可以刪除引號'keypadCall'。 – Jai 2013-04-09 06:08:32

+0

是的,它工作正常,但問題尚未解決。 – Vamsi 2013-04-09 06:50:33