将事件处理程序绑定到动态加载的输入

时间:2013-05-11 13:42:42

标签: javascript jquery live

我有一个分页输入字段,它是在主页的ajax调用加载一些数据后动态创建的。输入字段具有类goto

所以它是这样的: - 主页面上有一个脚本,其中包含一个名为loadData()的函数 - 当用户进行ajax调用时,通过ajax从数据库中提取表。 - 此ajax数据包括分页标签(FirstPrevNextLast),以及用户可在其中输入的.goto字段页码。当用户输入页码时,应调用主页面的loadData()函数。

这是我的代码(它在主页上):

$('.goto').bind('keydown', function(e){
        console.log(e.which);
        if(e.which==13)
        loadData($(this).val());
    });

但没有任何反应。没有控制台消息,没有。

1 个答案:

答案 0 :(得分:1)

如果元素是动态创建的,则在使用event delegation将事件绑定到元素时应使用on()方法。

在您的情况下,以下内容应该有效:

$(document).on('keydown', '.goto', function(e){
    console.log(e.which);
    if(e.which==13)
    loadData($(this).val());
});
相关问题