在这讲里,让我们看下如何在ASP.NET Textbox里禁止复制、剪切和粘贴行为。
当用户要输入一些密码、信用卡信息和银行账号等敏感信息,用户更希望手工通过键盘敲入数据,而好过通过剪贴板复制粘贴。
我们先来看下实现后的效果:
输入新密码 |
复制新密码出现如下对话框 |
界面代码 |
1
<
body
>
2
<
form
id
="form1"
runat
="server"
>
3
<
div
align
="center"
>
4
<
fieldset
style
="width: 400px; height: 180px"
>
5
<
table
cellpadding
="3"
cellspacing
="3"
border
="0"
>
6
<
tr
>
7
<
td
colspan
="2"
class
="header"
>
8
修改密码
9
</
td
>
10
</
tr
>
11
<
tr
>
12
<
td
>
13
<
asp:Label
ID
="lblCurrentPwd"
Text
="当前密码: "
runat
="server"
></
asp:Label
>
14
</
td
>
15
<
td
>
16
<
asp:TextBox
ID
="txtCurrentPwd"
Width
="200px"
runat
="server"
TextMode
="Password"
></
asp:TextBox
>
17
</
td
>
18
</
tr
>
19
<
tr
>
20
<
td
>
21
<
asp:Label
ID
="lblNewPwd"
Text
="新密码: "
runat
="server"
></
asp:Label
>
22
</
td
>
23
<
td
>
24
<
asp:TextBox
ID
="txtNewPwd"
Width
="200px"
runat
="server"
TextMode
="Password"
></
asp:TextBox
>
25
</
td
>
26
</
tr
>
27
<
tr
>
28
<
td
>
29
<
asp:Label
ID
="lblConfirmNewPwd"
Text
="确认新密码: "
runat
="server"
></
asp:Label
>
30
</
td
>
31
<
td
>
32
<
asp:TextBox
ID
="txtConfirmNewPwd"
Width
="200px"
runat
="server"
TextMode
="Password"
></
asp:TextBox
>
33
</
td
>
34
</
tr
>
35
<
tr
>
36
<
td
>
37
</
td
>
38
<
td
>
39
<
asp:Button
ID
="btnSubmit"
runat
="server"
Text
="提交"
/>
<
asp:Button
ID
="btnReset"
runat
="server"
40
Text
="重置"
/>
41
</
td
>
42
</
tr
>
43
</
table
>
44
</
fieldset
>
45
</
div
>
46
</
form
>
47
</
body
>
脚本代码 |
<
head
runat
="server"
>
<
title
>
Recipe3
</
title
>
<
script
src
="Scripts/jquery-1.4.1-vsdoc.js"
type
="text/javascript"
></
script
>
<
style
type
="text/css"
>
.header
{
background-color
:
Gray
;
font-weight
:
bold
;
font-size
:
large
;
}
</
style
>
<
script
type
="text/javascript"
>
$(document).ready(
function
() {
$(
"
input:password
"
).bind(
"
copy cut paste
"
,
function
(e) {
//
通过空格连续添加复制、剪切、粘贴事件
e.preventDefault();
//
阻止事件的默认行为
alert(
"
复制/剪切/粘贴已经在文本框中禁止掉了
"
);
});
});
</
script
>
</
head
>

