javascript - 如何使用焦点选择带有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
元素一起工作?
解决方案
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>
推荐阅读
- c++ - 是否有可能使模板函数成为一堆类似类的朋友?
- python - Python Google Cloud Function 中的 Paho-MQTT 连接失败
- entity-framework - 错误后如何重置实体框架数据上下文
- mongodb - 在数据库上构建社交网络:图与关系......还是两者兼而有之?
- python - django 上的 Tf 异议检测 API 部署
- mysql - 检索表中每条记录的外部表中记录的运行总数
- typeorm - TypeOrm - 自定义多对多不提取关系数据
- oracle - SAML 断言 ID
- reactjs - 如何使用 useState 设置数组的状态?
- flutter - 如何在滚动时隐藏底部导航栏