use*_*517 7 javascript asp.net onkeypress
当您创建一个aspx页面时:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如何避免在文本框中输入时发出的哔声.
另一方面,我想处理enter onkeypress事件.
TX!
小智 10
首先,在网页上的文本框中按Enter键时,发出蜂鸣声并非标准行为.试试Google的搜索页面,或者就此而言,请尝试本页底部的"名称","电子邮件"和"主页"字段.在任何浏览器中按Enter键时都不会发出蜂鸣声.
要防止发出蜂鸣声,请处理<INPUT>标记上的onKeyDown事件,如果按下回车键则返回false:
<input type="text" name="TextBox1" value="" onKeyDown="return StopBeepOnEnter(event)" />
<script type="text/javascript">
function StopBeepOnEnter(event)
{
if (event.keyCode == 13)
{
// Do Whatever...
return false; // This stops the beep
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是使用jQuery的同样的事情(我实际测试了这个,它解决了我的问题):
<script type="text/javascript">
$("#<%=TextBox1.ClientID %>").keydown(function(event)
{
if (event.keyCode == 13)
{
// Do Whatever...
return false; // This stops the beep
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
我在这个帖子上找到了解决方案 - 归功于Tharn Jaggar:
http://codingforums.com/showthread.php?t=36491
如果它与您的受众使用的浏览器有关,那么他们就会习惯这种情况的发生,因为除了您的网站之外,它也会发生在其他所有网站上。我想说这不值得担心——有点像人们关闭了 JavaScript。他们知道自己已经将其关闭,并且因此习惯了缺乏某些功能的网站。你不能强迫他们打开它,也不能强迫他们关闭声音。这是您在网络应用程序中必须接受的体验之一。