我正在尝试使用JavaScript启用锚元素,但看起来我遇到了一些语法问题。禁用部分工作正常,但在一段时间间隔后锚没有启用。
形式:
<a id="downloadReportLink"
href="#x"
title="This function will provide you a 30 day download of all your eSign transactions."
onclick="document.getElementById('viewIntegrationReport').submit(), doEverything(this)">
<span>Export E-Sign Information</span>
</a>
JS函数:
function disableLink(link) {
link.onclick = function(event) {
event.preventDefault();
}
}
function enableLink(link) {
link.onclick = undefined;
}
function doEverything(link) {
disableLink(link);
setTimeout(function() {
enableLink(link);
},
4000
);
}
我假设link.onclick = undefined
会启用锚点,但事实并非如此。
我在这里做错了吗?
答案 0 :(得分:1)
有点不清楚你想要什么行为,但假设你想在四秒间隔之后恢复锚标签的原始ua = MyModel1()
ua.name = 'hi'
print(ua)
#prints hi
ub = MyModel2()
ub.another_param = 'hi again'
print(ub)
#prints hi again
,我认为这对你有用。您将onclick
设置为link.onclick
,但您确实希望将其设置回原来的状态。
(我还假设您正在拦截表单提交,而不是实际导航离开页面。)
undefined
function disableLink(link) {
link.onclick = function(event) {
event.preventDefault();
}
}
function enableLink(link, onclick) {
link.onclick = onclick;
}
function doEverything(link) {
var oldOnclick = link.onclick;
disableLink(link);
setTimeout(function() {
enableLink(link, oldOnclick);
}, 4000);
}
答案 1 :(得分:-1)
试试这个:
function disableLink(link) {
link.addEventListener("click", function(){
return false;
});
}
function enableLink(link) {
link.addEventListener("click", function(){
return true;
});