在foreach循环中单击时禁用选定的锚点按钮



在我的laravel应用程序foreachlooprendring多个按钮中,我只想禁用或删除被单击的按钮,所以我厌倦了这段代码

@foreach()
<a onclick="remvebtn()" class="btn">My Button</a>
@endforeach             

javascript

function remvebtn(){

$(this).removeAttr("onclick");
}

但这对没有帮助

点击按钮后,有一个非常简单的方法可以删除按钮上的onclick事件:

function remvebtn(btn){
console.log(btn.textContent)
btn.onclick=null;
}
<a onclick="remvebtn(this)" class="btn">My Button1</a><br>
<a onclick="remvebtn(this)" class="btn">My Button2</a><br>
<a onclick="remvebtn(this)" class="btn">My Button3</a><br>
<a onclick="remvebtn(this)" class="btn">My Button4</a>

或者,你也可以这样做:

document.body.onclick=ev=>{
let btn=ev.target;
if (btn.classList.contains("btn")){
ev.preventDefault();
console.log(ev.target.href);
btn.classList.remove("btn");
btn.removeAttribute("href");
}
}
<a href="target1" class="btn">My Button1</a><br>
<a href="2nd_target" class="btn">My Button2</a><br>
<a href="third_one" class="btn">My Button3</a><br>
<a href="and_fourth" class="btn">My Button4</a>

最新更新