Javascript 当JQuery按钮被聚焦并且空格键被按下时,如何防止页面滚动

Javascript 当JQuery按钮被聚焦并且空格键被按下时,如何防止页面滚动,javascript,jquery,Javascript,Jquery,当焦点在JQuery对话框中的按钮上时,空格键会做两件事:选择按钮和滚动窗口。熟悉空格键作为选择按钮的工具的人会期望第一个按钮,但会发现第二个按钮不和谐且不合适 所以问题是:如何防止页面滚动?我原以为这只是从按钮处理程序返回false的问题,但这似乎不是真的。我在这里和其他地方尝试了建议的解决方案,但没有一个对我有效。最终起作用的是一个文档范围的键控处理程序,如下所示: $(document).keydown(function (e) { var key = e.charCode ? e

当焦点在JQuery对话框中的按钮上时,空格键会做两件事:选择按钮和滚动窗口。熟悉空格键作为选择按钮的工具的人会期望第一个按钮,但会发现第二个按钮不和谐且不合适


所以问题是:如何防止页面滚动?我原以为这只是从按钮处理程序返回false的问题,但这似乎不是真的。

我在这里和其他地方尝试了建议的解决方案,但没有一个对我有效。最终起作用的是一个文档范围的键控处理程序,如下所示:

$(document).keydown(function (e) {
    var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
    if ((key == 32) && (e.target.className != null) && (e.target.className.indexOf("ui-button") != -1))
       e.preventDefault();
 });
键==32显然是对空格键的检查。类名用于检查所讨论的UI(用户界面)元素是否是JQuery按钮。如果没有按钮检查,空格键在任何地方都被禁用。

great:)那么您能将问题标记为已解决吗?顺便说一句,您可以这样重写var声明
var key=e.charCode | e.keyCode | 0