Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng paste和onpaste,如何在粘贴新文本时保留/获取现有文本_Javascript_Angularjs_Ng Paste - Fatal编程技术网

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);
        }