jquery - jquery 的 click() 事件

标签 jquery events click

所以我有这段代码,在 AJAX 请求之后在 print_info() 函数中调用;

'print_info':函数(消息,类型){
        $('.load').hide();
        $('
'+message+'
').insertAfter('#loader').addClass('autoHideBox '+type).fadeIn("慢").delay(2000).fadeOut("慢", function() { $(this).remove(); }); },

正如您所见,div 在几秒钟内淡入淡出,我的问题是,即使我添加了以下代码:

.click(function() { $(this).fadeOut("slow", function() { $(this).remove(); }); } )

div 根本不会淡出/删除。你能清除这个吗?因为我对这件事有点困惑。

问候, 杜鲁曼·埃迪


稍后编辑:

我可以使用 .on("click",callback) 来实现它,但是,淡出它并在回调中将其删除是行不通的。

所以,为了让它工作,你可以在 on("click"的回调中做任何你需要做的事情,只需在 .on() 、 stop(true,true).on("click “,回调);

'print_info' : function(message,type) {
        $('.load').hide();
        $('<div>'+message+'</div>')
            .insertAfter('#loader')
            .addClass('autoHideBox '+type)
            .fadeIn("slow")
            .delay(2000)
            .fadeOut("slow", function() { $(this).remove(); })
            .on('click', function() {
                $(this).stop(true,true).fadeOut("slow", function() { $(this).remove(); })
            });
    },

最佳答案

我认为问题在于 .click 只能附加到最初在页面加载时加载的元素。

由于您当时创建了该元素,因此它没有正确附加到单击事件。尝试改用 .on('click', callback) 因为它可以添加到页面加载后动态创建的任何内容中。

http://api.jquery.com/on/

关于jquery - jquery 的 click() 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9841488/

相关文章:

javascript - 当鼠标悬停在 jquery 中时显示按钮的状态

javascript - 如何在不使用 jQuery 的情况下取消绑定(bind)通过 jQuery 绑定(bind)的事件处理程序

javascript - 将点击导航绑定(bind)到使用间隔的更改文本

jquery - data-parent 属性在崩溃 Bootstrap v4-alpha 上不起作用

javascript - 获取图像可见区域状态以将 Canvas 中的图像设置在先前拖动的位置

jquery getJSON 错误

jQuery 绑定(bind)点击 *任何东西* 但 *元素*

c# - 事件不会对额外的鼠标按钮使用react

jquery - 无法捕获在 jQuery 中按下的删除键

angular - 在 Angular 中,如何区分程序点击和用户点击?