У меня есть редактируемый контент div, и когда пользователь вставляет что-то в него с помощью мыши правой кнопки мыши и вставки, я хочу вызвать функцию. У меня уже есть привязка событий ng-change, поэтому, если я могу вызвать это, это тоже прекрасно.
Не уверен, что я хорошо понял, но для запуска событий paste
вы можете использовать директиву ngPaste
.
Вот пример:
(function() {
"use strict";
angular
.module('app', [])
.controller('MainCtrl', MainCtrl);
MainCtrl.$inject = ['$scope'];
function MainCtrl($scope) {
$scope.doSomething = function() {
alert('Yes, it works');
}
}
})();
<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" />
</head>
<body ng-controller="MainCtrl">
<input type="text" ng-paste="doSomething()" placeholder="Paste here">
</body>
</html>
Вы можете использовать ng-paste
для этого
<input ng-paste="paste=true" ng-init="paste=false" placeholder='paste here'>
Вы можете смотреть эту $scope.paste
или вызывать функцию на ng-paste
как
<input ng-paste="getPastedText(pastedText)" ng-model="pastedText" placeholder='paste here'>
Основная проблема с ng-paste заключается в вызове функции getPastedText
когда вы когда-либо getPastedText
что-то, но не будете давать идеи, если вы очистите вход