双击即可打开链接

时间:2010-12-30 10:57:54

标签: javascript jquery html

如何使超级链接<a>Link</a>成为双击链接:i:e链接应该在双击时打开,单击不应该做任何事情。

5 个答案:

答案 0 :(得分:15)

好的,你可以这样做:

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

Live copy

(它不一定是一个ID;你可以用一个类或其他任何东西来做这个,让你形成一个jQuery可以处理的选择器来连接它。)

如果用户禁用了JavaScript,则链接将正常运行。 Crawlers会正常找到链接等。如果用户启用了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;
        }
    });
});​

Live copy

我无法想象这对可访问性有好处,我敢打赌,还有其他一些事情无法满足上述要求。所有这些都融入了:

但是,如果没有 非常好的 用例,我强烈建议不要这么做。

答案 1 :(得分:3)

尝试使用span而不是链接。像这样:

<span ondblclick="window.location='http://www.google.com'" style="color:blue;text-decoration: underline;">Click Here</span>

答案 2 :(得分:0)

很好的问题,我一直在寻找答案。我想出了这个(在Chrome中测试过)。将这些属性添加到您的链接:

onclick="return false" ondblclick="location=this.href"

e.g。

<a onclick="return false" ondblclick="location=this.href" href="http://www.google.com">Google</a>

答案 3 :(得分:-1)

你可以使用Javascript:

<a href="#" onclick="javascripot:void(0)" ondblclick="javascript:DoMyWorkFunction()">a:x</a>

答案 4 :(得分:-1)

试试这个:

<a ondblclick= "openLink('your_link')">Link</a>

<script>
function openLink(link)
{
   location.href = link;
}
</script>

OR

<a ondblclick="location.href='your_link'">Double click on me</a>
相关问题