gpt4 book ai didi

javascript - 在顺序很重要的 jQuery 中处理多次单击事件

转载 作者:行者123 更新时间:2023-11-29 10:25:31 24 4
gpt4 key购买 nike

我正在开发一个使用 ajax 的 php 应用程序。在我想获取被 jQuery 劫持的链接的所有链接上,我将类 ajaxlink 直接添加到链接中

<a class="someclass ajaxlink" href="somelocation1">goto1</a>
<a class="someclass ajaxlink" href="somelocation2">goto2</a>
<a class="someclass ajaxlink" href="somelocation3">goto1</a>

JavaScript 看起来像这样

$('.ajax-link').click(function(){get link with ajax});

如果用户启用了 JavaScript,他将通过 ajax 获取页面。特别是我有一个多个页面,所以我有相同的功能来为所有页面生成相同的链接。

现在我的问题只是一页中的一个链接,我想做一些不同的事情。当 ajax 页面成功返回时,它必须触发另一个函数。现在我有这样的代码。

<div class"specialclass">
<a class="someclass ajaxlink" href="somelocation1">goto1</a>
<a class="someclass ajaxlink" href="somelocation2">goto2</a>
<a class="someclass ajaxlink" href="somelocation3">goto1</a>

<a class="someclass ajaxlink special-1" href="somelocation">goto</a>
<a class="someclass ajaxlink special-2" href="somelocation">goto</a>
<a class="someclass ajaxlink special-3" href="somelocation">goto</a>
</div>

$('.ajax-link').click(function(){get link with ajax});
$('.specialclass .special-1,
.specialclass .special-2,
.specialclass .special-3').click(function(){get link with ajax});

此设置是因为我希望同一容器中的普通链接正常执行。只有一个特殊链接我想添加另一个点击事件。我想我不能将这个事件添加到普通的点击事件中,因为它只需要在应用程序的一个特定页面中触发。在所有其他页面上,它将是不必要的代码。

但是这个设置产生了错误,因为特殊类点击首先被触发,然后是 ajaxlink 类。这必须切换,只有在 ajaxlink 返回成功时才需要触发。

任何人对此有任何想法。

最佳答案

您可以从整个过程中重构您的正常点击功能并执行此操作:

var normalClick=function(){/*get link with ajax*/};

$('.ajax-link').click(normalClick);
$('.specialClass').click(
function(){
normalClick();
/* special click code */
}
);

关于javascript - 在顺序很重要的 jQuery 中处理多次单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2417471/

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