使超链接可选择

时间:2017-03-09 10:33:11

标签: javascript html css

如果您使用Firefox或Chrome浏览网页,则可以通过按住右键来选择超链接中的文字,带有<a>标记的元素。

在我的应用中,我希望使用javascript实现此功能,而不是通过按住某些按钮,但默认情况下。如果用户双击,我将重定向到url,否则用户将能够选择内容,就像它只是一个纯文本一样。

我尝试的第一件事是用<a>元素替换所有<span>元素并实现相关事件。这提供了我想要的功能,但是在保持所有属性(类,id)相同的情况下,甚至很难扭曲外观。对于我正在处理的页面,似乎有标记<a>特定的CSS。

现在我要做的是通过保持标记名来实现这一点。我目前的代码如下:

var linkElems = document.getElementsByTagName('a');

for (var i = linkElems.length - 1; i >= 0; i--) {
    linkElems[i].ondblclick = function () {
           //redirect to url
        };

    linkElems[i].setAttribute("href", "#");
    linkElems[i].onclick = function () { return false; };       
}

在此代码之后,链接不会使页面重定向到相应的URL,但是当我尝试选择文本时,它只会拖动一些包含url的框。为了防止这种情况,我写了这行代码:

document.body.ondragstart = function(){return false;}

现在,我阻止拖动但仍然无法选择文本。我想知道有没有办法解决这个问题。

1 个答案:

答案 0 :(得分:3)

看到这一点。

我使用了数据属性,但没有定义$category=$_POST['category']; $sql = "ALTER TABLE women ADD $category INT BEFORE TOTAL"; 属性。

您可以在MDN

上找到有关href属性的更多信息

&#13;
&#13;
data-*
&#13;
$(function(){
    $(".aLink").dblclick(function(){
    var link = $(this).attr("data-href");
    window.location.href = link;
  });
});
&#13;
a {
  color: blue;
  text-decoration: underline;
}
&#13;
&#13;
&#13;