单击函数不处理已使用jquery附加到正文的元素

单击函数不处理已使用jquery附加到正文的元素,jquery,Jquery,我的页面中有以下标签 时间线 并使用了富林jquery代码 $(".timeline").click(function(){createtip(eventdata);}); function createtip(eventdata){ $('<div class="tip"></div>').appendTo('body').html(html_content); positionTooltip(eventdata);

我的页面中有以下标签

时间线 并使用了富林jquery代码

$(".timeline").click(function(){createtip(eventdata);});

function createtip(eventdata){ 

    $('<div class="tip"></div>').appendTo('body').html(html_content);
        positionTooltip(eventdata);        
    };

    function positiontip(eventdata){
        var PosX = eventdata.pageX;
        var PosY = eventdata.pageY;
        $('div.tip').css({'position': 'absolute', 'top': PosY, 'left': PosX});
$(“.timeline”)。单击(函数(){createtip(eventdata);});
函数createtip(eventdata){
$('').appendTo('body').html(html_内容);
位置工具提示(事件数据);
};
函数位置提示(事件数据){
var PosX=eventdata.pageX;
var PosY=eventdata.pageY;
$('div.tip').css({'position':'absolute','top':PosY,'left':PosX});
html_的内容是:

<input type="button" class="button" name="submit_tooltip_form" value="close"/>

添加div标记后,我正试图通过单击div标记内的按钮来关闭此div标记。我不确定该怎么办,因为我是jquery新手。

试试这个

function createtip(eventdata){ 
        $('body').append('<div class="tip">'+html_content+'</div>');
        positionTooltip(eventdata);        
    };
$('input [name="submit_tooltip_form"]').live("click", function(){
    $(".tip").hide();
});
函数createtip(eventdata){
$('body')。追加(“”+html_内容+“”);
位置工具提示(事件数据);
};
尝试使用

试试这个

function createtip(eventdata){ 
        $('body').append('<div class="tip">'+html_content+'</div>');
        positionTooltip(eventdata);        
    };
$('input [name="submit_tooltip_form"]').live("click", function(){
    $(".tip").hide();
});

向文档中添加新内容时,将在不使用任何事件处理程序的情况下添加新内容,如
click()
on('click')
。这意味着您必须执行以下两项操作之一:

添加新对象后,将事件绑定到新对象,如下所示:

$(newElement).on('click',  function () {
    $(this).closest('.tip').hide();
   // other stuff
});
或者,您可以将单击处理委托给父对象,该父对象将自动处理新添加元素的事件,如下所示:

$('body').on( 'click', '.button', function () {
    $(this).closest('.tip').hide();
});
如果使用第二种方法,则无需担心将事件绑定到新对象


注意:您可能希望删除提示而不是隐藏它们?在这种情况下,请将
.remove()
替换为
.hide()
在上面的示例中

您正在将已附加的每个元素上的事件相乘-这不是最好的选项。我已经附加了此选项。现在我想删除附加div标记中的using按钮。我有以下关闭附加div类$(“.button”)的代码。单击(函数(eventdata){$(.tip”).hide();})我已尝试此操作,但不起作用。我想在单击附加div标记内的按钮时关闭附加div标记。第二个函数应可用于添加的元素。我已将其更改以反映您下面的评论。注意:此函数应调用一次,并应处理所有添加的按钮。