开发者

Javascript multiple hyperlink clicks process

We have many hyperlinks in a html page. On click of which we do certain function.

After one hyperlink is clicked I wanted to make other hyperlink clicks to do nothing until first one finishes it processing. (During testing testers started clicking the hyperlinks rapidly one after another)

I did something like this, but it does not seem to be working. Basically used a variable to track if a hyperlink is clicked.

var hyperlinkClickInProcess=false;
function clickHandler(inputData){
     if(hyperlinkClickInProcess =开发者_运维知识库=false){
        hyperlinkClickInProcess =true;
        linkProcessing(inputData);
        hyperlinkClickInProcess =false;
    }
}

Any thoughts on how to implement such functionality?


function disableAllLinks() {

 // search for all links and remove onclick event handlers, + return false.

}

function enableAllLinks() {

 // search for all links and reassing onclick event handlers

}


function clickHandler(inputData){
   disableAllLinks();

   /// Link processing body here //// 

   enableAllLinks();
}


This question tells how to use jquery to disable all the links on a page: jQuery disable a link. But instead of disabling just one specific link, you could use a similar strategy on all the links on the page by doing like so:

$('a').click(function(e) {
    if(hyperlinkClickInProcess) {
        e.preventDefault();
    }
    else {
        hyperlinkClickInProcess =true;
        linkProcessing(inputData);
        hyperlinkClickInProcess =false;
    }
});
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜