在我的项目中,我需要输入一些文本框的Enter键,因为我不想在输入键按钮时使用帖子页面。我使用此代码禁用Enter键:
$(document).keypress(
function (event) {
if (event.which == '13') {
event.preventDefault();
}
});
它的工作正常,但是当在页面中添加textarea时,我无法输入断行键,因为Enter键已禁用。
如何为textarea启用Enter键?
答案 0 :(得分:4)
我不知道是否建议附加全局 keypress
处理程序。无论如何,最简单的方法是
$(document).on('keypress',
function (event) {
if (event.which == '13' && event.target.tagName != 'TEXTAREA') {
event.preventDefault();
}
});
在上文中,您正在检查tagName
的{{1}},以查看event.target
发生的元素是否为enter
但是,我会推荐这种方法
textarea
这会定位所有 $('form').on('keypress', 'form',
function (event) {
if (event.which == '13') {
event.preventDefault();
}
});
元素和不 input
元素,
答案 1 :(得分:0)
您应该绑定表单以检测Enter键为
void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason != CloseReason.ApplicationExitCall)
{
DialogResult dialog = MessageBox.Show("Are you sure you want to really exit ? ", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dialog == DialogResult.Yes)
{
System.Windows.Forms.Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
}
}
通过这种方式,您可以在文本区域使用Enter键而无需提交表单。