Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jquery / JS bind "paste" event handler to input textbox

Allright, SO i have an input box and I need to do things everytime it changes, I am having trouble doing it for mouse paste. Here is the code I have

$("#attack-navy"+unit.ID+"-number").bind('paste', function(){
            alert("paste detected");
            $("#attack-max-capacity").text(getMaxCapacity());
});

the getMaxCapacity() function return number entered * 30 for now;

Here is the scenario when
1: I paste 3, it will not change (i still see the alert)
2: Then when i paste 5, it will be 90(3 * 30)
3: Then if i paste 10 it will be 150(5 * 30), and so on.

I think its doing the handler before the paste actually occurs. Any ideas on what I can do? (.change will not work, it must happen as soon as u paste)

like image 475
Ave Avatar asked Mar 11 '11 21:03

Ave


People also ask

How do I paste into textarea?

Press CTRL + V. Select "Paste" from the Edit menu in your browser.

Which jQuery method is used to attach handler to an event?

bind() method is used for attaching an event handler directly to elements. Handlers are attached to the currently selected elements in the jQuery object, so those elements must exist at the point the call to . bind() occurs.

How do you paste text in Javascript?

Use navigator. clipboard to get access to the clipboard. Use writeText() to copy text into the clipboard. Use readText() to paste the text.


1 Answers

You should handle the input and propertychange events.
Demo.

like image 87
SLaks Avatar answered Oct 16 '22 06:10

SLaks