我正在使用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"> </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 :(得分: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"> </label><input type="button" name="remove" value="Remove" class="button remove" />');
setTimeout(keypadCall,1000);
});
并尝试从()
中的keypadCall
功能移除setTimeout()
。