Javascript ng paste和onpaste,如何在粘贴新文本时保留/获取现有文本
我使用的是Javascript ng paste和onpaste,如何在粘贴新文本时保留/获取现有文本,javascript,angularjs,ng-paste,Javascript,Angularjs,Ng Paste,我使用的是ng-paste和onpaste,就像这样 <input type="text" class="form-control" ng-trim="false" ng-model="x.value" select-on-click ng-paste="paste($event, x)" onpaste="return false;" id="input{{$index}}" 它可以工作,但我只能得到粘贴的文本,我想要的是somedata,有什么想法吗 p.S我必须使用onpaste
ng-paste
和onpaste
,就像这样
<input type="text" class="form-control" ng-trim="false" ng-model="x.value" select-on-click ng-paste="paste($event, x)" onpaste="return false;" id="input{{$index}}"
它可以工作,但我只能得到粘贴的文本,我想要的是somedata
,有什么想法吗
p.S我必须使用
onpaste=“return false;”“
,否则文本会变成
您可以使用输入元素的selectionStart/selectionEnd属性来完成这个任务
function onPaste(event) {
var input = event.target;
var start = input.selectionStart;
var end = input.selectionEnd;
var originString = input.value;
var myContent = "<PASTED DATA>";
input.value = originString.substring(0, start) + myContent + originString.substring(end, originString.length);
event.preventDefault();
var currentPosition = (originString.substring(0, start) + myContent ).length;
setTimeout(function () {
input.focus();
input.setSelectionRange(currentPosition, currentPosition);
}, 0);
}
函数onPaste(事件){
var输入=event.target;
var start=input.selectionStart;
var end=input.selectionEnd;
var originString=input.value;
var myContent=“”;
input.value=originString.substring(0,start)+myContent+originString.substring(end,originString.length);
event.preventDefault();
var currentPosition=(原始字符串子字符串(0,开始)+myContent).length;
setTimeout(函数(){
input.focus();
输入.设置选择范围(当前位置,当前位置);
}, 0);
}
function onPaste(event) {
var input = event.target;
var start = input.selectionStart;
var end = input.selectionEnd;
var originString = input.value;
var myContent = "<PASTED DATA>";
input.value = originString.substring(0, start) + myContent + originString.substring(end, originString.length);
event.preventDefault();
var currentPosition = (originString.substring(0, start) + myContent ).length;
setTimeout(function () {
input.focus();
input.setSelectionRange(currentPosition, currentPosition);
}, 0);
}