我遇到一个问题,我想在点击一下后禁用锚点击。我有 在我的锚标记中设置的点击属性。下面是我的HTML
<a style="cursor:pointer;" id="someId" onclick="Myfuntion()">Verify</a>
点击&#34;验证&#34;我正在将锚文本更改为&#34;验证...&#34;还有一件事我试图禁用这个锚点,以避免在验证逻辑之间点击。
我已经尝试了event.preventdefault()并且还将disabled属性添加到了锚点。 但没有任何作用。
请帮忙!
答案 0 :(得分:0)
如果您正在使用jQuery,那么您可以更轻松地完成此操作。
在这里,我们向链接添加一个新类,以显示它已被单击。我们在点击时检查这个。
<a style="cursor:pointer;" id="someId">Verify</a>
$('#someId').on('click',function(){
//Check if button has class 'disabled' and then do your function.
if(! $(this).hasClass('disabled')){
$(this).addClass('disabled');
Myfuntion();
$(this).removeClass('disabled');
}
});
答案 1 :(得分:0)
这是一个关于如何使用Javascript完成的演示。
//Pass the event target to the function
function Myfuntion(elem) {
//If the element has no "data-status" attribute
if (!elem.getAttribute("data-status")) {
//Set attribute "data-status=progress"
elem.setAttribute("data-status", "progress");
//Change the text of the element
elem.textContent = "Verifying...";
//The setTimeout(s) below is only for the demp purpose
//Lets say, your verification process takes 4 seconds
//When complte
setTimeout(function() {
//Remove the attribute "data-status"
elem.removeAttribute("data-status");
//Notify the use that verification is done
elem.textContent = "Verified";
//Again, this is only for demo purpose
setTimeout(function() {
//User may verify again
elem.textContent = "Verify";
}, 1000);
}, 4000);
}
return false;
}
答案 2 :(得分:0)
有很多方法可以做到这一点;一个简单的方法是重新定义函数本身:
var myFunction = function() {
alert('clicked');
// do whatever your function needs to do on first click, then:
myFunction = function() { // redefine it
// to no-op, or to another action
alert('second click');
}
}
<a onclick="myFunction()">click me</a>