首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery.keypad.js不适用于动态添加的文本框

jquery.keypad.js不适用于动态添加的文本框
EN

Stack Overflow用户
提问于 2013-04-09 13:44:22
回答 1查看 266关注 0票数 0

我正在使用jquery.keypad.js来显示特殊字符(...)在用户可以选择的文本框中。对于文本框的第一个字段,它工作得很好,当我通过单击“添加更多”按钮添加相同的文本字段时,它不工作。在单击“添加更多”之后,我再次调用该函数,即使它不起作用。可能的问题是什么?

代码语言:javascript
复制
$(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'});
}
EN

回答 1

Stack Overflow用户

发布于 2013-04-09 13:53:40

尝试将事件委托给最接近的父对象,这在dom准备就绪时是可用的,或者使用.on()处理程序对自身进行$(document)

代码语言:javascript
复制
$(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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15894148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档