Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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 如何禁用<;a>;链接和恢复后?_Javascript_Jquery - Fatal编程技术网

Javascript 如何禁用<;a>;链接和恢复后?

Javascript 如何禁用<;a>;链接和恢复后?,javascript,jquery,Javascript,Jquery,我有一个类似于的页面 我曾经让程序区工作,而且它工作 但问题是,我需要防止拖动后持续单击的a。所以我试着使用preventDefault(),实际上它是有效的!但是我如何恢复链接,以便用户在没有拖动时可以单击它呢?它的事件可能是什么?您可以尝试使用以下代码: var down = false; var drag = false; $('...').mousedown(function() { down = true; }).mouseup(function() { down = dr

我有一个类似于的页面

我曾经让程序区工作,而且它工作


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

您可以尝试使用以下代码:

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();
   }
});

改为使用类似于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);
        };
    });
var golocation=function(){
var href=$(此)[0].dataset.href;
window.location=href;
}
var启动时间;
$('a')
.on('mousedown',函数(e){
开始时间=新日期().getTime();
})
.on('mouseup',函数(e){
var now=new Date().getTime();
如果(现在-开始时间<100){
打电话给(这个);
};
});

您可以使用超时?您可以添加一个标志,当拖动时设置为true,当拖动完成时设置为false,当falg为true时,您可以在单击事件中调用preventDefault。将
dragstart
上的全局布尔值设置为
true
并将
dragend
上的全局布尔值设置为
false
。单击链接时,检查布尔值是否为真,以确定是否要阻止单击。
dragstart
dragend
不起作用。