javascript - 如何防止默认和禁用 href

标签 javascript jquery

第一次单击我的按钮时,单击功能可以正常工作,但再次单击时,它会刷新页面,单击时无法识别取消绑定(bind)。我需要防止任何默认点击事件并在点击后禁用按钮。

<a href="" class="red-btn2">Save this Property</a>

$(".red-btn2").click(function(event){
  event.preventDefault();
  $(this).unbind('click');
  $(this).css({
    'background-color':'#666666',
    'text-align':'center'
  });
  $(this).text("Added to Favorites");
});

最佳答案

如果您需要处理程序的其余部分仅运行一次,但 preventDefault() 始终运行,则可以将它们分成多个处理程序。

然后,其中一个可以在第一次使用后删除(使用 jQuery 的 .one() 将为您覆盖),但仍保留使用 preventDefault():

$('.red-btn2')
    .click(function (event) {
        event.preventDefault();
    })
    .one('click', function () {
      $(this).css({
        'background-color':'#666666',
        'text-align':'center'
      });
      $(this).text("Added to Favorites");
    });

如您所见,event.preventDefault() 也被 .unbind('click') 删除,因此元素上没有留下任何函数第二次点击时调用它。

关于javascript - 如何防止默认和禁用 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40569046/

相关文章:

jquery - Capacitor 是否需要 Mac 和 Android Studio

javascript - 无法使用可选择的 jQuery UI 获取选定的单词

javascript - 当我添加参数时,为什么我的 ajax get 请求无法找到我的处理程序路由?

javascript - 我是否需要调整服务器才能完全使用 HTML5 History API?

javascript - 如何将鼠标悬停和鼠标单击放在同一元素上

jquery - ID 与 Var 与 find 函数

javascript - 当 URL 和选项卡更改时发出警报

javascript - Facebook 信使 API : Trouble setting up a webhook

javascript - 在 div 中包装 slider 降低高度

jquery - 添加不透明背景而不与其他元素重叠