在文本框中输入按键时,请避免发出哔声

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


mat*_*amp 0

如果它与您的受众使用的浏览器有关,那么他们就会习惯这种情况的发生,因为除了您的网站之外,它也会发生在其他所有网站上。我想说这不值得担心——有点像人们关闭了 JavaScript。他们知道自己已经将其关闭,并且因此习惯了缺乏某些功能的网站。你不能强迫他们打开它,也不能强迫他们关闭声音。这是您在网络应用程序中必须接受的体验之一。