【发布时间】:2017-02-28 00:57:46
【问题描述】:
我使用this answer 禁用arrow 和pgdown 和pgup 键操作(滚动)。但我需要在我的jquery 代码中调用event.preventDefault() 之后将此键的操作设置为默认(滚动)。
我该怎么做。
【问题讨论】:
-
代码在哪里???
标签: javascript jquery events preventdefault
我使用this answer 禁用arrow 和pgdown 和pgup 键操作(滚动)。但我需要在我的jquery 代码中调用event.preventDefault() 之后将此键的操作设置为默认(滚动)。
我该怎么做。
【问题讨论】:
标签: javascript jquery events preventdefault
如果没有更好的细节很难回答,但如果我理解你所拥有的东西,如果你有可以跟踪状态的东西,你可以在你希望阻止此行为并让它失败时使用 preventDefault:
伪代码:
var state = {
blockArrows: true;
}
$('#my_widget').keydown(function(e) {
if(state.blockArrows) {
e.preventDefault();
}
// ...else allow the event to do its normal thing....///
});
【讨论】:
要反转preventDefault(),你需要解绑原来的action,然后重新调用它。
$(document).keydown(function(e) {
e.preventDefault()
// Do stuff until you need to recall the default action
$(this).unbind('keydown').keydown()
})
How to unbind a listener that is calling event.preventDefault() (using jQuery)?
【讨论】: