【问题标题】:restore event to default action in jquery after event.prenventdefault在 event.preventdefault 之后将事件恢复为 jquery 中的默认操作
【发布时间】:2017-02-28 00:57:46
【问题描述】:

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

我该怎么做。

【问题讨论】:

  • 代码在哪里???

标签: javascript jquery events preventdefault


【解决方案1】:

如果没有更好的细节很难回答,但如果我理解你所拥有的东西,如果你有可以跟踪状态的东西,你可以在你希望阻止此行为并让它失败时使用 preventDefault:

伪代码:

var state = {
   blockArrows: true;
}

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

【讨论】:

    【解决方案2】:

    要反转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)?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 2011-07-08
      • 2018-07-06
      相关资源
      最近更新 更多