在我的项目中,我试图禁用 Enter 键并给出我自己的回车键功能。(我没做过)
以下功能正在运行,但只要我在TextBox
字段内按 Enter 键,内容就会添加到div
(根据需要)以及{{ 1}}字段,输入键功能正在发生(我不想要)。如何停止在TextBox
字段上运行的输入键功能?为了清楚理解,请参阅以下代码中的我的评论。
.aspx文件(工作)
TextBox
jQuery (工作)
<asp:TextBox ID="msg" BackColor="Transparent" runat="server" BorderStyle="None"
TextMode="MultiLine" />
答案 0 :(得分:4)
尝试e.preventDefault()
像这样
$('#msg').keypress(function (e) {
if (e.which == 13) {
e.preventDefault();
//Shows the TextBox text in a Div, which I want to.
chat.server.send($('#msg').val()); //also going one step down in TextBox field which I dont want to.
$('#msg').val(''); //Clearing the Text in TextBox field
//what should I add here to make the Enter Key work only for the DIV?
}
});
答案 1 :(得分:0)
也尝试使用C#在C#中进行验证。只需编写以下函数并调用函数提供参数(如下所述)
public void disable_TextBox_Enter(Control parent)
{
foreach (Control c in parent.Controls)
{
if ((c.Controls.Count > 0))
{
disable_TextBox_Enter(c);
}
else
{
if (c is TextBox)
{
((TextBox)(c)).Attributes.Add("onkeydown", "return (event.keyCode!=13);");
}
if (c is GridView)
{
((GridView)(c)).Attributes.Add("onkeydown", "return (event.keyCode!=13);");
}
}
}
}
你可以调用这样的函数:
disable_TextBox_Enter(this);