jQuery和ASP.NET-强制按钮单击
我有一个ASP.NET页面,上面有一个表单。它上面还有一个搜索表单。搜索位于页面的右上角,因此搜索按钮首先添加到控件层次结构中 当您处理其他表单并按enter键时,它将单击搜索按钮。我不希望出现这种情况,我更希望当您按enter键时,表单的按钮被单击 我试着像这样使用jQuery:jQuery和ASP.NET-强制按钮单击,asp.net,javascript,jquery,Asp.net,Javascript,Jquery,我有一个ASP.NET页面,上面有一个表单。它上面还有一个搜索表单。搜索位于页面的右上角,因此搜索按钮首先添加到控件层次结构中 当您处理其他表单并按enter键时,它将单击搜索按钮。我不希望出现这种情况,我更希望当您按enter键时,表单的按钮被单击 我试着像这样使用jQuery: $('#textBoxId').keyup(function(e) { if(e.keyCode === 13) { $('#buttonId').click(); e.preventDefau
$('#textBoxId').keyup(function(e) {
if(e.keyCode === 13) {
$('#buttonId').click();
e.preventDefault();
}
});
但是表单提交了,这意味着客户端验证没有运行(即,onclick事件处理程序没有在按钮上运行)
实现这一目标的最佳方法是什么?试试这个
$('#textBoxId').keydown(function(e) {
if(e.keyCode === 13) {
e.preventDefault();
$('#buttonId').trigger('click');
}
});
此代码适用于IE和FF:
$('#textBoxId').keydown(function(event) {
var e = event || window.event;
var keyCode = document.all ? e.keyCode : e.which;
if (keyCode == 13) {
e.preventDefault();
$('#buttonId')[0].click();
}
});
需要记住的重要一点是,对的jQuery调用只调用绑定到click事件的所有处理程序。它不调用底层html对象的click()方法。这必须通过按照if语句中的最后一行从jQuery数组中提取元素来手动完成