Как вызвать событие ngchange, когда пользователь вставляет что-то в редактируемый контент div с помощью щелчка правой кнопкой мыши?

0

У меня есть редактируемый контент div, и когда пользователь вставляет что-то в него с помощью мыши правой кнопки мыши и вставки, я хочу вызвать функцию. У меня уже есть привязка событий ng-change, поэтому, если я могу вызвать это, это тоже прекрасно.

Теги:

2 ответа

2
Лучший ответ

Не уверен, что я хорошо понял, но для запуска событий 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>
  • 1
    Не запускается, когда пользователь вставляет с помощью contextmenu (щелчок правой кнопкой мыши + вставка)
  • 0
    Вы в этом уверены? Вы можете проверить это выше ..
Показать ещё 4 комментария
0

Вы можете использовать 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 что-то, но не будете давать идеи, если вы очистите вход

  • 0
    В чем разница моего ответа?
  • 0
    @ developer033 извини, чувак, я этого не видел.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню