双击即可打开链接

Muh*_*han 5 html javascript jquery

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

T.J*_*der 15

好的,你可以这样做:

HTML:

<a id='golink' href='gosomewhere.html'>Go Somewhere</a>
Run Code Online (Sandbox Code Playgroud)

使用jQuery的JavaScript:

jQuery(function($) {
    $('#golink').click(function() {
        return false;
    }).dblclick(function() {
        window.location = this.href;
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

实时复制

(它不必是一个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;
        }
    });
});?
Run Code Online (Sandbox Code Playgroud)

实时复制

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

但我强烈建议不要在没有一个非常好的用例的情况下这样做.

  • 用例:我在桌面上进行内联编辑.当我点击任何<td>数据时,它应该在<tr>中打开一个表单.但客户希望使用双击打开<tr>中的表单.<td>数据看起来不像链接但是当我点击它时,它应该调用一个动作. (3认同)

goe*_*ing 5

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

<span ondblclick="window.location='http://www.google.com'" style="color:blue;text-decoration: underline;">Click Here</span>
Run Code Online (Sandbox Code Playgroud)

  • 但是他想要的不应该叫做`link`,它更像是一个按钮,这就是我使用`&lt;span&gt;`的原因。 (2认同)