当焦点位于JQuery对话框中的按钮上时,空格键会执行两项操作:它选择按钮并滚动窗口。熟悉空格键作为选择按钮的工具的人会期望第一个,但发现第二个不和谐且不合适。
所以问题是:如何阻止页面滚动?我以为这只是从按钮处理程序返回false的问题,但这似乎不是真的。
答案 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按钮。如果没有按钮检查,空格键将无处不在。