如何使 jQuery 单击事件恢复到原本的状态?
Posted
技术标签:
【中文标题】如何使 jQuery 单击事件恢复到原本的状态?【英文标题】:How do I make a jQuery click event revert to what it otherwise would've been? 【发布时间】:2016-05-25 02:59:57 【问题描述】:我有一个click
活动
$('[data-assetid]').click(function()
$.ajax(
url : '/somemethod',
method : 'POST',
data : pageid : $('input[name="pageid"]').val() ,
success : function ( retobj )
// ...
);
);
默认情况下具有点击事件的元素(<img>
s、<a>
s 等)。我希望它在success
回调结束时执行的操作是删除我最初附加的点击事件,以便它回退到原本的状态。我该怎么做?
【问题讨论】:
查看jQuery.unbidn() docs的最后一个例子。这应该是您正在寻找的。 jQuery.bidn() docs 也可能有用。 【参考方案1】:您可以使用jQuery.one
(check API);它会绑定一次,然后在第一次调用后解除绑定。
像这样:
$('[data-assetid]').one("click", function()
$.ajax(
url : '/somemethod',
method : 'POST',
data : pageid : $('input[name="pageid"]').val() ,
success : function ( retobj )
// ...
);
);
【讨论】:
以上是关于如何使 jQuery 单击事件恢复到原本的状态?的主要内容,如果未能解决你的问题,请参考以下文章
如何删除绑定到单击事件的任何 jQuery 操作? [复制]
Bootstrap 4:如何通过 jquery 或 vuejs 单击列表组项目时使其处于活动状态?