如何将Jquery函数应用于ajax调用之前存在的div

时间:2014-02-07 02:08:00

标签: javascript jquery ajax

假设我想用id="foobar"隐藏div,但foobar尚不存在,只有在用户单击按钮并进行ajax调用后,div才会填充到DOM中。

如何在div出现后编写一个运行的函数?该函数不能通过ajax调用来实现。它必须在通话之前存在。

我了解到这样的事情可能有所帮助:

$(document).ready(function () {
    $(document).on('click', '#futurebutton', function() {
        alert("You clicked the future button");
    });

但这似乎只能点击新按钮,我需要的是在div出现后运行该函数。

类似于$(document).on( "COMES INTO EXISTENCE" , '#newdiv', function() ...

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您在填充后尝试使用按钮隐藏div,则可以将侦听器添加到已存在的父元素中。

$('.parent').on('click','#foobar',removeFoobarFunction);

如果你需要立即删除div,当它被填充时,你应该使用像mcbex提到的ajax成功回调。

如果您没有,请阅读事件委托:

https://learn.jquery.com/events/event-delegation/

答案 1 :(得分:0)

你应该创建函数然后在创建元素时将函数名称添加到元素的onclick属性中。

//<div id="futureButton" onclick="onClickFunc"></div>
function onClickFunc(e){ alert("You clicked the future button"); }