我不希望空格键导致页面滚动。 但我希望在输入或内容可编辑的div中按预期工作。
我尝试了类似的东西,但页面仍然向下滚动
$(document).on('keydown', function (e) {
var $target = $(e.originalEvent.target);
if (!$target.closest('[contenteditable="true"]') && !$target.closest('input')){
e.preventDefault();
}
});
答案 0 :(得分:1)
以下是获取焦点元素,检查输入或contenteditable以及空格键的示例。如果不满足条件,则阻止默认操作。
$(document).on("keypress", function(e) {
var $focusElem = $(":focus");
if(e.which == 32 && !($focusElem.is("input") || $focusElem.attr("contenteditable") == "true"))
e.preventDefault();
});