Websirnik Websirnik - 5 months ago 46
AngularJS Question

"Paste" event in Angular [ngPaste]

How to execute a function on "Paste" event in input in Angular 1.1.5? I know there is a

ng-change
directive for input. But it fires each time the input changes, I need only once on initial paste.

Use-case: I have a URL input. I want to execute a function after user pastes the URL. User also can manually enter the URL and execute the function by pressing Enter.

--

Update: Since Angular 1.2.0, ngPaste is a native directive.

Answer

Since Angular 1.2.0 there is an ngPaste directive. Use the following way:

<input type='text' ng-paste='handlePaste($event)'>

To pass the value straightaway, use:

<input type='text' ng-paste='handlePaste($event.clipboardData.getData('text/plain'))'>