【发布时间】:2016-07-11 13:28:46
【问题描述】:
我遇到了这个烦人的问题,我似乎无法在 textarea 中获取所选文本的开始和结束索引,我得到的只是这样的未定义:
$('#myarea').selectionStart; // return undefined
我是不是做错了什么?
【问题讨论】:
标签: javascript jquery editor
我遇到了这个烦人的问题,我似乎无法在 textarea 中获取所选文本的开始和结束索引,我得到的只是这样的未定义:
$('#myarea').selectionStart; // return undefined
我是不是做错了什么?
【问题讨论】:
标签: javascript jquery editor
试试:
$('#myarea')[0].selectionStart;
为什么? jQuery 选择器不返回实际的 DOM 元素,而是返回包装的 jQuery 集合。 jQuery 使实际的 DOM 元素可以作为数组访问,所以如果你想使用第一个匹配的元素(在这种情况下,是唯一的一个,因为它是按 ID),你可以按照上面的方法进行。
【讨论】:
从jQuery 1.6版本开始,可以使用.prop()方法:
获取:
// always start at 0
var start = $('#myarea').prop('selectionStart');
var end = $('#myarea').prop('selectionEnd');
设置:
$('#myarea').prop('selectionStart', 10);
$('#myarea').prop('selectionEnd', 15);
// or short hand by
$('#myarea').prop({
'selectionStart': 10,
'selectionEnd': 15
});
【讨论】: