在event.prenventdefault之后将事件恢复到jquery中的默认操作

时间:2017-02-28 00:57:47

标签: javascript jquery events preventdefault

我使用this answer来禁用arrowpgdown以及pgup键操作(滚动)。但我需要在event.preventDefault()代码中调用jquery之后将此键的操作设置为默认(滚动)。

我该怎么办呢。

2 个答案:

答案 0 :(得分:2)

如果没有更好的细节,很难回答,但是如果你理解了你有什么,如果你有什么东西你可以跟踪状态你可以阻止默认,当你想阻止这种行为并让它落空时:

Psudocode:

var state = {
   blockArrows: true;
}

$('#my_widget').keydown(function(e) {
  if(state.blockArrows) {
    e.preventDefault();
  }
  // ...else allow the event to do its normal thing....///
});

答案 1 :(得分:1)

要反转preventDefault(),您需要取消绑定原始操作,然后重新调用它。

$(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)?