gpt4 book ai didi

jquery - 如何在淡入淡出回调中重新触发点击事件?

转载 作者:行者123 更新时间:2023-12-01 03:38:53 24 4
gpt4 key购买 nike

尝试在这里做一些相当简单的事情..我将一个点击事件设置为几个 anchor ,如代码中所示。在单击事件函数内,我有带有回调函数的淡出。我想防止 anchor 发射,直到淡出完成,然后重新发射它。这是我到目前为止收集到的……这是行不通的。我得到了淡入淡出,然后什么也没有发生。

$('#desktop_nav ul').find('a').click(function(e)
{
var that = this;
//console.log(that);

// prevent fade from firing on mid-click
if (e.which != 2)
{
e.preventDefault();

$('html').fadeOut(2000, function(){
//console.log(that);
that.bind('click', function(){
$(this).trigger('click');
// returns "Uncaught TypeError: undefined is not a function"
});
});
}
});

一直在通过 Stack 寻找一些答案,但看起来我缺乏一些知识来完全理解这些。

谢谢!

最佳答案

that 引用原始 DOM 元素(因为您使用 var that = this 设置它)

您需要使用$(that).bind(...)

<小时/>

绑定(bind)处理程序的逻辑在单击时将触发对其自身的单击,但这种逻辑是有缺陷的,因为它会创建无限循环或触发自身。

当淡入淡出完成时,您只需手动触发点击

    $('html').fadeOut(2000, function(){
//console.log(that);
$(that).trigger('click');
});
<小时/>

尝试

    $('html').fadeOut(2000, function(){
//console.log(that);
window.location.href = that.href;
});

关于jquery - 如何在淡入淡出回调中重新触发点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26319402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com