首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在粘贴上粘贴文本

在粘贴上粘贴文本
EN

Stack Overflow用户
提问于 2014-09-14 06:51:04
回答 1查看 8.1K关注 0票数 1

我有一个angularjs指令,它侦听我的文本区域的粘贴事件:

代码语言:javascript
复制
element.on('paste', function (event) {
});

如何使得到粘贴的文本?我试过:

代码语言:javascript
复制
event.clipboardData.getData('text/plain')

..。以及:

代码语言:javascript
复制
event.originalEvent.clipboardData 

..。但两者都没起作用。任何建议都会有帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-14 08:45:15

其实很简单。您可以使用element.val()获取文本,但需要将其放入setTimeout中。

我为你做了一个例子。

Working: http://jsfiddle.net/vxcjw45d/

HTML:

代码语言:javascript
复制
<body ng-app="myApp">
    <div ng-controller="myController">
        <textarea paste-example></textarea>
        <div>{{ pastedText }}</div>
    </div>
</body>

Javascript:

代码语言:javascript
复制
var myApp = angular.module('myApp', []);

myApp.controller('myController', function($scope) {
    $scope.pastedText = '';
});

myApp.directive('pasteExample', function(){
    var linkFn = function(scope, element, attrs) {

        element.on('paste', function() {

            setTimeout(function() {
                console.log(element.val());
                scope.pastedText = element.val();
                scope.$apply();
            }, 5);

        });
    };

    return {
        restrict: 'A',
        link: linkFn
    };
});
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25830824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档