如何使用ng-paste和ng-copy指令获取剪贴板数据?
<input type="text" ng-paste="mymodel = 'the clipboard text??'" />
答案 0 :(得分:2)
crossbrowser解决方案是定义一个$ clipboard服务,如下所示:
function Clipboard($window) {
this.getText = function ($event) {
var text;
if ($window.clipboardData) { //IE
text = $window.clipboardData.getData('Text');
} else if ($event.originalEvent.clipboardData) {
try {
text = $event.originalEvent.clipboardData.getData('text/plain');
} catch (ex) {
text = undefined;
}
}
if (text) {
$event.preventDefault();
}
return text;
};
}
angular.module("ngClipboard", []).service("$clipboard", Clipboard);
然后在控制器中注入服务并定义委托方法,它可以像这样使用:
<input type="text" ng-paste="mymodel = getText($event)" />