如何在聚焦JQuery按钮并按下空格键时阻止页面滚动

时间:2012-04-14 20:36:26

标签: javascript jquery

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

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

1 个答案:

答案 0 :(得分:8)

我已尝试过此处和其他地方建议的解决方案,但这些解决方案都不适用于我。最终工作的是像这样的文档范围的keydown处理程序:

$(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显然是对空格键的检查。 className检查所讨论的UI(用户界面)元素是否是JQuery按钮。如果没有按钮检查,空格键将无处不在。