gpt4 book ai didi

javascript - 中间点击(新标签)和 javascript 链接

转载 作者:技术小花猫 更新时间:2023-10-29 12:10:19 26 4
gpt4 key购买 nike

我在工作中负责一个网站,最近我添加了 Ajaxy 请求以使其更快、响应更快。但它提出了一个问题。

在我的页面上,左边有一个索引表,就像一个菜单。单击它后,它会发出填充页面其余部分的请求。您可以随时单击索引的另一项以加载不同的页面。

在添加 javascript 之前,可以为索引的每个项目单击鼠标中键(打开新选项卡),这允许在我处理其中一个页面时加载其他页面。但由于我已将所有链接更改为 ajax 请求,它们现在执行一些 javascript 而不是真正的链接。所以当我中间点击它们时,它们只会打开空标签。

有没有办法结合这两种功能:左键单击时链接触发 javascript 或中键单击时新选项卡?是否必须是一些丑陋的 javascript 来捕获每次点击并相应地处理它们?

谢谢。

最佳答案

是的。而不是:

<a href="javascript:code">...</a>

这样做:

<a href="/non/ajax/display/page" id="thisLink">...</a>

然后在您的 JS 中,通过它的 ID Hook 链接以执行 AJAX 调用。请记住,您需要阻止点击事件冒泡。大多数框架都内置了一个您可以调用的事件 killer (只需查看其 Event 类)。

这是 jquery 中的事件处理和事件 killer :

$("#thisLink").click(function(ev, ob) {
alert("thisLink was clicked");
ev.stopPropagation();
});

当然你可以更聪明,同时处理这样的事情,但我认为重要的是要强调这个方法比使用 onclick 属性更干净 so .

把你的 JS 放在 JS 里!

关于javascript - 中间点击(新标签)和 javascript 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/152262/

26 4 0