我正在使用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'});
}发布于 2013-04-09 13:53:40
尝试将事件委托给最接近的父对象,这在dom准备就绪时是可用的,或者使用.on()处理程序对自身进行$(document):
$(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);
});并尝试从setTimeout()中的keypadCall函数中删除()。
https://stackoverflow.com/questions/15894148
复制相似问题