gpt4 book ai didi

javascript - 执行preventDefault,然后执行默认行为

转载 作者:行者123 更新时间:2023-11-28 07:12:16 26 4
gpt4 key购买 nike

我在单页面应用程序项目中有一个要求,当我单击基于提供的 href 属性的 anchor 标记时,我需要更改页面的部分。像这样的事情:

<a class="page-click" href="#showPeople/1">Open</a>

该 anchor 位于该页面的弹出窗口中。因此,每当我单击此 anchor 标记时, anchor 应该关闭弹出窗口并将窗口位置更改为

http://www.example.com/#showPeople/1

现在, anchor 正在更改 URL(默认情况下),但不会关闭弹出窗口。

当我研究时,我发现对于 anchor ,我应该使用 e.preventDefault() 来删除默认行为。但就我而言,我需要默认行为和自定义行为(关闭弹出窗口)。

我找到了这个link它有类似的要求,但问题是我动态附加事件。

$(document).on('click', '.page-click', function (e) {
// e.preventDefault();
// code here
});

即使我以某种方式成功地从该特定单击的 anchor 解除绑定(bind)事件,当用户再次打开弹出窗口时,该 anchor 也不会关闭弹出窗口(因为注册的事件已已被删除)。

最佳答案

尝试

$('button').click(function () {
$('body').toggleClass('active');
});
$(document).on('click', 'a.page-click', function (e) {
e.preventDefault();
var $this = $(this);
$('.popup').hide('fast', function() {
window.location.href = "http://example.com/" + $this.attr('href');
});
});

关于javascript - 执行preventDefault,然后执行默认行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31177220/

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