如何停用<a> link and resume it after?

时间:2016-01-14 10:01:30

标签: javascript jquery

I have a page that is similar to http://tv.sky.com/tv-guide/#/day/0

我使用"DragScroll"使程序区域正常工作,并且可以正常工作。

但问题是,我需要阻止a在拖动后继续点击。所以我尝试使用preventDefault(),实际上它有效!但是如何恢复链接,以便用户可以点击它dragging?什么可能是它的事件?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用此代码:

var down = false;
var drag = false;
$('...').mousedown(function() {
   down = true;
}).mouseup(function() {
   down = drag = false;
}).mousemove(function() {
   if (down) {
       drag = true;
   }
}).on('click', 'a', function(e) {
   if (drag) {
       e.preventDefault();
   }
});

答案 1 :(得分:0)

使用类似于setTimeout的东西。

var golocation = function() {
        var href = $(this)[0].dataset.href;
        window.location = href;
    }

var start_time;

    $('a')
    .on('mousedown', function(e) {
        start_time = new Date().getTime();
    })
    .on('mouseup', function(e) {
        var now = new Date().getTime();
        if (now - start_time < 100) {
            golocation.call(this);
        };
    });