jQuery和ASP.NET - 强制按钮点击

4
我有一个包含表单的ASP.NET页面,同时还有一个搜索表单。搜索表单位于页面的右上角,因此搜索按钮是添加到控件层次结构中的第一个按钮。
当您在处理其他表单时按下回车键,它会点击搜索按钮。我不想这样,我更希望按下回车键时点击表单的按钮。
我尝试使用jQuery来实现:
$('#textBoxId').keyup(function(e) {
  if(e.keyCode === 13) { 
    $('#buttonId').click();
    e.preventDefault();
  }
});

但是表单已提交,这意味着客户端验证没有运行(即,按钮的onclick事件处理程序未运行)。

如何最好地实现此功能?

2个回答

8
尝试使用这个替代方案。
$('#textBoxId').keydown(function(e) {
  if(e.keyCode === 13) {
    e.preventDefault(); 
    $('#buttonId').trigger('click');
  }
});

1

这段代码在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数组中提取元素来手动完成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接