我知道如何使用$('textarea').prop('selectionStart') //=> 3
和$('textarea').prop('selectionEnd') //=> 9
检索光标位置。
如何编写一个函数来删除位置3和9之间的文本?
这就是我删除一个字符的方式:
function replace_character(position, characters, a){
var original_content = $('textarea').val(),
new_content = original_content.substr(0, position) + characters + original_content.substr(position, original_content.length);
$('textarea').val(new_content)
};
这可能看起来很冗长,但我正在使用该功能替换具有不同角色的角色,所以它看起来并不臃肿。
无论如何,我应该如何删除两个职位之间的所有文字?
答案 0 :(得分:0)
使用selectionStart的值的开头作为第一个块,然后在selectionEnd上连接到值的结尾作为第二个块:
function replace_character() {
var subject = $('textarea'); // should this be a little more specific??
var original_content = subject.val().trim();
var new_content = original_content.substr(0, subject.prop('selectionStart')) + original_content.substr(subject.prop('selectionEnd'));
subject.val(new_content);
}