怎么阻止这个浏览器的默认行为

gclove
  • 1.4k

<a href="http://baidu.com/"> <p> 为什么这里不能复制p里面的文字 </p> </a>
回复
阅读 3.6k
5 个回答

最笨的办法是用js把href变为空。或者直接不写href
其他的没研究过。

var a = document.getElementById('a元素ID');
    a.onclick = function(){
        //这里写你想做的事
        return false;
    }
代码宇宙
  • 15.6k

<p>是块级元素,默认会占满一整行。所以选择的时候需要一点技巧,不然就变成点击链接了。

具体方法是:从上一行或下一行空白的地方开始拖动鼠标选择文本,选择完了释放鼠标即可。这样就能选中里面的文字了。

你可以不使用 a 标签,通过绑定点击事件进行跳转。。。。

zhiqiang21
  • 1.4k

首先你这样的嵌套在语义话的层面是错误的,行内元素不应该包含块级元素。

下面的代码是可以正常复制的

<span><a href="http://www/baidu.com">你好</a></span>

如果你的html结构就是要求必须是错误的,如你给出的那样写的话,只需要给p标签提价css属性就可以

不是不可以复制,你加入另外的一些代码

<a href="http://baidu.com/">
            <p style="display: inline-block;width: 100%;border:1px solid #000"> 为什么这里不能复制p里面的文字 </p>
        </a>

图片描述
这个时候,你看图,我是选中了文本内容了的,只不过我是从文字的开始位置用鼠标选中的

那么问题来了,为什么我不能够从后向前复制呢?

因为块级元素是默认占一行的,你从块级元素任意的中间位置开始,是选不中块级元素的文本的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏