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

[su_tabs]

[su_tab title="Demo"]

[/su_tab]

[su_tab title="Sourcecode"]

<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>

[/su_tab]
[/su_tabs]

Happy Learning !!

Lokesh

I have 7 Years of rich experience in java technology. This has only increased my hunger to learn more. In this blog, i will be writing on different topics occasionally, and would love to engage in some meaningful serious discussions with you folks.

You may also like...

11 Responses

  1. sri says:

    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 ?

    • Lokesh says:

      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();

  2. SK says:

    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

  3. please share a post to restrict copy paste using javascript

Note:- In comment box, please put your code inside [java] ... [/java] OR [xml] ... [/xml] tags otherwise it may not appear/post as intended.


Want to ask any question? Or suggest anything?