在动态创建元素后,单击事件不起作用

时间:2012-04-06 11:26:44

标签: javascript jquery

我将此用于按钮的点击事件

$(document).on("click", "#feed_show_more_button", function() { 
    var a = $("#feed_show_more_button").attr("name");
    show_more(a);
});

然后在动态创建按钮后,我想将其用作虚假点击

$("#feed_show_more_button").click();

但它不起作用。

编辑:我意识到除非包含ajax结果,否则show_more函数不会被触发。我怎样才能使这个功能像全球一样?

2 个答案:

答案 0 :(得分:0)

而不是假电话:

$("#feed_show_more_button").click();
你可以简单地写一下:

show_more( $("#feed_show_more_button").attr("name") );

当然可以访问show_more(在范围内可见)。

答案 1 :(得分:0)

我怀疑诊断是因为当我将此代码粘贴到javascript控制台(firebug)时,控制台会记录“foo my button”

$(document).on("click", "#feed_show_more_button", function() { 
    var a = $("#feed_show_more_button").attr("name");
    console.log("foo",a)
    //show_more(a);
});

$("body").html("<div name='my button' id='feed_show_more_button' style='border:1px solid red;height:100px;width:100px'></div>");

$("#feed_show_more_button").click()

干净利巧btw。