Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript启用href_Javascript_Html - Fatal编程技术网

使用JavaScript启用href

使用JavaScript启用href,javascript,html,Javascript,Html,我有一个JavaScript函数,使用它我可以禁用一个超链接,它可以做到这一点。现在几秒钟后,假设4秒钟后,我想启用链接。我不知道该怎么做。我已经编写了一个函数来启用链接,但它不起作用 有人能帮我使用JavaScript吗 JS函数 function disableDownloadReportLink(link) { link.onclick = function(event) { event.preventDefault(); } } fun

我有一个JavaScript函数,使用它我可以禁用一个超链接,它可以做到这一点。现在几秒钟后,假设4秒钟后,我想启用链接。我不知道该怎么做。我已经编写了一个函数来启用链接,但它不起作用

有人能帮我使用JavaScript吗

JS函数

function disableDownloadReportLink(link) {
     link.onclick = function(event) {
        event.preventDefault();
     }
   }   

 function enableDownloadReportLink() {
     document.getElementById('downloadReportLink').href.disabled = false;
   }   

您需要在加载功能中设置计时器。这是以前提出的问题,请参见此处的示例

您需要在加载功能中设置计时器。以前有人问过这个问题,请参见此处的示例,添加一个类.inactive,您可以在该类上将单击事件绑定到e.preventDefault()


4秒后,删除该类。

添加一个class.inactive,您将在其上将单击事件绑定到e.preventDefault()

4秒后,移除该类。

功能禁用DownloadReportLink(链接){
link.onclick=函数(事件){
event.preventDefault();
}
}
功能启用下载报告链接(链接){
link.onclick=未定义;
}
var el=document.getElementById(“wop”);
禁用下载报告链接(el);
设置超时(
函数(){
启用下载报告链接(el);
},
4000
);
功能禁用DownloadReportLink(链接){
link.onclick=函数(事件){
event.preventDefault();
}
}
功能启用下载报告链接(链接){
link.onclick=未定义;
}
var el=document.getElementById(“wop”);
禁用下载报告链接(el);
设置超时(
函数(){
启用下载报告链接(el);
},
4000
);

基本上,与@Vicente Olivert Riera的模式相同,只是不同的实现,使用
添加/删除EventListener

<a href="./foo" id="my-link">foo</a>

<script>
function disableLink(link) {
    var handler = function(e) {
        e.preventDefault();
        console.log('click disabled');
    }
    link.addEventListener('click', handler, false);
    link.dataset.disableHandler = handler;
}
function enableLink(link) {
    if (link.dataset.disableHandler) {
        link.removeEventListener('click', link.dataset.disableHandler);
        link.dataset.disableHandler = null;
    }
}

var link = document.getElementById('my-link');
disableLink(link);
link.style.color = 'grey';
console.log('link disabled');

setTimeout(function(){
    enableLink(link);
    link.style.color = 'blue';
    console.log('link enabled');
}, 4000);
</script>

功能禁用链接(链接){
变量处理程序=函数(e){
e、 预防默认值();
console.log('click disabled');
}
link.addEventListener('click',handler,false);
link.dataset.disableHandler=handler;
}
功能启用链接(链接){
if(link.dataset.disableHandler){
link.removeEventListener('click',link.dataset.disableHandler);
link.dataset.disableHandler=null;
}
}
var-link=document.getElementById('my-link');
禁用链接(link);
link.style.color='灰色';
console.log('linkdisabled');
setTimeout(函数(){
启用链接(链接);
link.style.color='blue';
log('link enabled');
}, 4000);

基本上,与@Vicente Olivert Riera的模式相同,只是不同的实现,使用
添加/删除EventListener

<a href="./foo" id="my-link">foo</a>

<script>
function disableLink(link) {
    var handler = function(e) {
        e.preventDefault();
        console.log('click disabled');
    }
    link.addEventListener('click', handler, false);
    link.dataset.disableHandler = handler;
}
function enableLink(link) {
    if (link.dataset.disableHandler) {
        link.removeEventListener('click', link.dataset.disableHandler);
        link.dataset.disableHandler = null;
    }
}

var link = document.getElementById('my-link');
disableLink(link);
link.style.color = 'grey';
console.log('link disabled');

setTimeout(function(){
    enableLink(link);
    link.style.color = 'blue';
    console.log('link enabled');
}, 4000);
</script>

功能禁用链接(链接){
变量处理程序=函数(e){
e、 预防默认值();
console.log('click disabled');
}
link.addEventListener('click',handler,false);
link.dataset.disableHandler=handler;
}
功能启用链接(链接){
if(link.dataset.disableHandler){
link.removeEventListener('click',link.dataset.disableHandler);
link.dataset.disableHandler=null;
}
}
var-link=document.getElementById('my-link');
禁用链接(link);
link.style.color='灰色';
console.log('linkdisabled');
setTimeout(函数(){
启用链接(链接);
link.style.color='blue';
log('link enabled');
}, 4000);

隐藏/显示具有
href
属性的元素可能更容易。如何调用disableDownloadReportLink?只需设置一个计时器,请参见此处的示例,这是我如何调用它的。没有
element.href.disabled
,该属性不存在?隐藏/显示具有
href
属性的元素可能更容易。disableDownloadReportLink是如何调用的?只需设置一个计时器,请参见这里的示例,这是我如何调用它的。没有
element.href.disabled
,该属性不存在?那么您将如何调用这些函数?我想您已经拥有了所需的一切。如何调用这些函数取决于您。为什么你不调用一个函数(当你点击链接时)来完成所有的事情,而不是在链接的onclick中对三个函数进行调用?该新函数将执行
submit()
,然后调用该函数以禁用链接,然后(4秒后,使用
setTimeout
)调用该函数以启用链接。正如我在回答中所说,“不要期望此代码段工作,这只是一个示例”。你必须使它适应你的代码。那么你将如何调用这些函数呢?我认为你已经拥有了你所需要的一切。如何调用这些函数取决于您。为什么你不调用一个函数(当你点击链接时)来完成所有的事情,而不是在链接的onclick中对三个函数进行调用?该新函数将执行
submit()
,然后调用该函数以禁用链接,然后(4秒后,使用
setTimeout
)调用该函数以启用链接。正如我在回答中所说,“不要期望此代码段工作,这只是一个示例”。您必须使其适应您的代码。