我遇到了一个非常烦人的问题:我似乎无法获取文本区域中所选文本的起始和结束索引,所有我得到的结果都是未定义的,就像这样:
$('#myarea').selectionStart; // return undefined
我做错了什么吗?
我遇到了一个非常烦人的问题:我似乎无法获取文本区域中所选文本的起始和结束索引,所有我得到的结果都是未定义的,就像这样:
$('#myarea').selectionStart; // return undefined
我做错了什么吗?
尝试:
$('#myarea')[0].selectionStart;
为什么?jQuery选择器不会返回实际的DOM元素,而是包装后的jQuery集合。jQuery将实际的DOM元素作为数组进行访问,因此如果您想使用第一个匹配的元素(在本例中,由于是按ID匹配的唯一元素),则应执行上述操作。// 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
});