I have a page that is similar to http://tv.sky.com/tv-guide/#/day/0。
我使用"DragScroll"使程序区域正常工作,并且可以正常工作。
但问题是,我需要阻止a
在拖动后继续点击。所以我尝试使用preventDefault()
,实际上它有效!但是如何恢复链接,以便用户可以点击它dragging
?什么可能是它的事件?
答案 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);
};
});