1
hwding 2017-06-21 14:24:17 +08:00
var V2EX = $('.aa');
v2ex.click(function () { this.focus(); this.select(); }); |
2
noe132 2017-06-21 14:26:17 +08:00 1
function SelectText(element) {
var selection = window.getSelection(); var range = document.createRange(); range.selectNodeContents(element); selection.removeAllRanges(); selection.addRange(range); } |
3
littleylv 2017-06-21 14:26:41 +08:00
|
4
subdued 2017-06-21 14:29:20 +08:00
p 换成 input 样式调成 p 的成不成 就可以用 1 楼的方法了
|
5
tianxiacangshen OP @hwding 这个适用于 textarea 和 input,div p 不适用
|
6
tianxiacangshen OP @subdued 我这边这样实现太麻烦了,本身的样式和 js 效果就有不少了,有其他办法吗
|
7
ajan 2017-06-21 15:30:02 +08:00
<!DOCTYPE html>
<html lang="en"> <head> <meta charset="utf-8"> </head> <body> <p class="aa">v2ex</p> <script type="text/javascript" src="https://cdn.staticfile.org/jquery/1.11.2/jquery.min.js"></script> <script> function SelectText(element) { var selection = window.getSelection(); var range = document.createRange(); range.selectNodeContents(element); selection.removeAllRanges(); selection.addRange(range); }; $('.aa').click(function(){ SelectText(this); }); </script> </body> </html> |
9
duan602728596 2017-06-21 15:30:55 +08:00 via iPhone
应该有办法,html5 有 api 可以做到,晚上回去查查我以前的笔记
|
10
yangxiongguo 2017-06-21 16:37:54 +08:00
|
11
cowpea 2017-06-21 16:43:12 +08:00
$('.aa').click(function(){
console.log($(this).html()); }) |
12
cowpea 2017-06-21 16:54:33 +08:00
啊,刚才没看到选中状态,那就
$('p.aa').click(function(){ $(this).trigger('select') }) |
13
hzw94 2017-06-21 17:06:20 +08:00
|
14
cowpea 2017-06-21 17:15:59 +08:00
$('p.aa').click(function(){
var str='<input type="hidden" class="aac" value=\''+$(this).html()+'\'/>'; $(this).after(str); $(".aac").select(); }) =-=就不信弄不出 |
15
xycool 2017-06-21 18:26:00 +08:00 1
|
16
tianxiacangshen OP |
17
hwding 2017-06-21 22:07:47 +08:00
学习到了 哈哈
|
18
est 2017-06-21 22:52:50 +08:00
用 label for
|
19
fytriht 2017-06-21 23:04:33 +08:00
function selectElementContents(el) {
var range = document.createRange(); range.selectNodeContents(el); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); } const el = querySelector('.aa') el.addEventListner('click', function () { selectElementContents(this) }) 搜一下就有答案了: https://stackoverflow.com/questions/6139107/programmatically-select-text-in-a-contenteditable-html-element |
20
MrFireAwayH 2017-06-22 14:48:00 +08:00
|
21
MrFireAwayH 2017-06-22 14:48:35 +08:00
@MrFireAwayH #20 没有测试过低版本浏览器 不过显而易见的是 不支持 contenteditable 的肯定无效啦
|
22
MrFireAwayH 2017-06-22 14:58:56 +08:00
```javascript
$(".aa").get()[0].onclick = function(){ document.execCommand('selectAll',false,null); } ``` |
23
MrFireAwayH 2017-06-23 08:51:32 +08:00 via Android
难道我被降权了?
|