c# – 防止复制粘贴并右键单击文本框(电子邮件地址)

c# – 防止复制粘贴并右键单击文本框(电子邮件地址),第1张

概述我想阻止用户: >从第一个文本框复制并粘贴到第二个文本框 >右键单击并使用上下文菜单从第一个文本框复制并粘贴到第二个文本框. 这不起作用. <html> <head runat="server"> <title>Confirm email page</title> <script type="text/javascript" language="javascript"> 我想阻止用户:

>从第一个文本框复制并粘贴到第二个文本框
>右键单击并使用上下文菜单从第一个文本框复制并粘贴到第二个文本框.

这不起作用.

<HTML>  <head runat="server">    <Title>Confirm email page</Title>    <script  type="text/JavaScript" language="JavaScript">    function disableRightClick(event) {        //For mouse right click         if (event.button == 2) {        }    }    function disableCtrlKey(e) {        var code = (document.all) ? event.keyCode : e.which;        // look for CTRL key press        if (parseInt(code) == 17) {            window.event.returnValue = false;        }    }    </script>  </head>  <body >    <form ID="form1" runat="server">      <div>        <h1>Confirm Email</h1>        <asp:Label ID="Label2" runat="server" Text="Enter Email Address: "></asp:Label>        <asp:TextBox ID="TextBox2" runat="server" oncopy="return false" onMouseDown="disableRightClick(event)" ></asp:TextBox><br />        <asp:Label ID="Label3" runat="server" Text="Confirm Email Address: "></asp:Label>        <asp:TextBox ID="TextBox3" runat="server" onKeyDown="return disableCtrlKey(event)"></asp:TextBox><br />      </div>    </form>  </body></HTML>

GOT IT WORKING !!!!

<div><h1>copy Paste Preventer!!!</h1>    <asp:Label ID="Label1" runat="server" Text="Enter Username: "></asp:Label>    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />    <asp:Label ID="Label2" runat="server" Text="Enter Email Address: "></asp:Label>    <asp:TextBox ID="email" runat="server"  oncopy="return false" onpaste="return false" oncut="return false" oncontextmenu="forms[0].elements[0].value++; return false"></asp:TextBox><br />    <asp:Label ID="Label3" runat="server" Text="Confirm Email Address: "></asp:Label>    <asp:TextBox ID="TextBox3" runat="server" oncopy="return false" onpaste="return false" oncut="return false" oncontextmenu="forms[0].elements[0].value++; return false"> </asp:TextBox><br /></div>
解决方法 使用jquery时,这非常简单,并且与ASP.NET完全兼容:
<script type='text/JavaScript' src='http://jqueryJs.Googlecode.com/files/jquery-1.3.2.min.Js'></script><script type="text/JavaScript">    $(function() {    $('input[ID$=TextBox2]').bind('cut copy paste',function(e) {            e.preventDefault();            alert('You cannot ' + e.type + ' text!');        });    });</script>

这篇文章解释了它如何与ASP.NET一起工作:
http://www.dotnetcurry.com/ShowArticle.aspx?ID=398

正如斯科特指出的那样:在生产中,你应该把jquery引用放在HTML的底部(但仍然在body标签内).

UPDATE
由于您要求完全阻止上下文菜单,您可以执行以下 *** 作:

添加此脚本:

<script type="text/JavaScript">    document.getElementByID('TextBox2').oncontextmenu = function (){        return false;    };</script>

返回false时,不显示菜单项.以下是browserupport的概述:
http://help.dottoro.com/ljhwjsss.php

总结

以上是内存溢出为你收集整理的c# – 防止复制/粘贴并右键单击文本框(电子邮件地址)全部内容,希望文章能够帮你解决c# – 防止复制/粘贴并右键单击文本框(电子邮件地址)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1243087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存