首页 > 解决方案 > 如何使用焦点选择带有jquery的文本

问题描述

我正在尝试span通过此代码选择元素内的文本,但我没有成功:

<span class="selectme">this text should be selected by click</span> 

$(".selectme").live('focus', function() { $(this).select(); });

下面的这个运行良好:

<input value="this text should be selected by click" class="selectme">

$("input.selectme").live('focus', function() { $(this).select(); });

我怎样才能使它与span元素一起工作?

标签: javascriptjqueryhtmlselectfocus

解决方案


span不像input,所以简短的回答是你不能那样做。默认情况下,它甚至没有focus事件。

但是有一个解决方法。您需要添加tabindex="-1"以使其具有焦点并用于window.getSelection().selectAllChildren(this);选择它的值:

$(".selectme").on('focus', function() { 
    window.getSelection().selectAllChildren(this);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<span class="selectme" tabindex="-1">this text should be selected by click</span>

来源

live弃用,请on改用。


推荐阅读