jQuery – Detect Cut, Copy or Paste Events

If you have worked on projects involved dynamic UI having client side input validations, then you can recall that it is very common practice among QA/testers that they try to copy lots of garbage text to create invalid scenarios and log them as a bug. I will not comment on validity of these kind of issues. Here in this post, I will give you a solution which you can use to solve this problem if it happens to you.

Please note that this will work always. No matter you generate these events with keyboard or mouse.

jquery_logo

Read More: Difference between keypress and keydown events and Detect ENTER key

Detect CUT COPY or PASTE events

To detect these events you need to bind following events in given manner for any input area.

$(document).ready(function() {
	$("#textA").bind({
		copy : function(){
		$('#message').text('copy behaviour detected!');
		},
		paste : function(){
		$('#message').text('paste behaviour detected!');
		},
		cut : function(){
		$('#message').text('cut behaviour detected!');
		}
	});
});	

Try yourself

<html>
	<head>
		<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
		<style type="text/css">
		span{
			color:green;
			font-weight:bold;
		}
		</style>
	</head>
	<body>
		<h1>Detect Cut, Copy and Paste with jQuery</h1>
		<form action="#">
			<label>Text Box : </label>
			<input id="textA" type="text" size="50" value="Copy, paste or cut any text here" />
		</form>

		<span id="message"></span>

		<script type="text/javascript">
		$(document).ready(function() {
			$("#textA").bind({
				copy : function(){
				$('#message').text('copy behaviour detected!');
				},
				paste : function(){
				$('#message').text('paste behaviour detected!');
				},
				cut : function(){
				$('#message').text('cut behaviour detected!');
				}
			});
		});	
		</script>
	</body>
</html>

Happy Learning !!

Was this post helpful?

Join 8000+ Awesome Developers, Like YOU!

11 thoughts on “jQuery – Detect Cut, Copy or Paste Events”

  1. Hi Guptha,

      I created  two tabs. 
         1) customer Tab
          2) User Tab
    

    These two tabs having the common buttons that button names are “save” and “cancel”.My Question is these two buttons are not needed in the second tab (UserTab).So i want hide those buttons in the second tab.But when i try to hide those buttons in the second tab it is not showing in the first tab.So could you please tell me how to hide those buttons in jquery ?

    Reply
    • Always use unique ids for all elements in HTML page. Give the ids to button as tab_1_save, tab_1_cancel, tab_2_save and tab_2_cancel. Now hive whatever you want to hide. Nothing will effect accidentally.

      $(“#tab_1_save”).hide();

      Reply
  2. Hi Guptha,

    I created J table. Their is a toolbar options with the name of(activate,deactivate etc).My Toolbar name is “Loggedinusers”.When i click that Loggedinusers button it has been showing the popup box and it is showing the Loggedinusers list.But the issue is when i click the Loggedinusers button second time it is not showing any list.It is just showing the popup box..could you please clarify this doubt.?

    Thanks in Advance

    Reply

Leave a Comment

About HowToDoInJava

This blog provides tutorials and how-to guides on Java and related technologies.

It also shares the best practices, algorithms & solutions, and frequently asked interview questions.