如何通过双击而不是单击来触发链接(标记)?

时间:2013-10-20 16:38:47

标签: javascript jquery html css

有什么方法可以保留所有悬停效果,但只有在双击时才会触发标记链接(到另一个页面)? 谢谢!

任何纯粹的javascript答案? (没有jQuery)

3 个答案:

答案 0 :(得分:4)

我当然不会违反单击标准,但如果这是你想要的:

您可以找到here

的答案

从上面的答案中复制:

HTML:

<a id='golink' href='gosomewhere.html'>Go Somewhere</a>

使用jQuery的JavaScript:

jQuery(function($) {
     $('#golink').click(function() {
         return false;
     }).dblclick(function() {
         window.location = this.href;
         return false;
     }).keydown(function(event) {
         switch (event.which) {
             case 13: // Enter
             case 32: // Space
                 window.location = this.href;
                 return false;
         }
     });
 });

答案 1 :(得分:3)

我带来了这个(没有jQuery,只使用onclick事件处理程序):

  var clicked=false;
  var el = document.getElementById('link');
  var maxClicksDelay = 500; // in milliseconds 
  el.onclick = function(e) {
    if(!clicked) {
    clicked = true;
    setTimeout(function() { clicked = false}, maxClicksDelay );  
    e.preventDefault();
    }

  }

jsfiddle

答案 2 :(得分:0)

我建议添加一个属性来处理带有双击选项的链接。

<a href='http://...' dblclick>Link</a>
                     ^^^^^^^^

在html文档的末尾添加以下行以查找具有特定“dblclick”属性的锚点:

<script type='text/javascript'>
  $(function(){
    $('a[dblclick]').click(function(e){
       return false; // disable single click
    }).dblclick(function(e){
       window.location = this.href; // on double click go to the URL from href value
    })
  })
</script>