【问题标题】:Allowing child element to continue/trigger an event using jQuery允许子元素使用 jQuery 继续/触发事件
【发布时间】:2020-06-08 08:48:01
【问题描述】:

我有针对 document 对象的代码:

$(document).on('keydown', function(event) { 
    event.preventDefault();
});

例如,是否可以在子 <textarea> 元素上设置异常并允许 keydown 在该子元素上正常进行?

【问题讨论】:

  • 在调用 preventDefault 之前检查事件目标的节点名称...
  • event.preventDefault() 代码必须保持原样(文档),无需任何检查。想知道是否有办法针对文本区域添加事件异常...
  • 您的意思是,您不能按所示更改代码,并且需要在此之外进行处理?然后您可能会专门为页面中的 textarea 元素添加一个处理程序,并阻止事件冒泡,stopPropagation。 (虽然这可能会干扰其他东西,但要能够判断这是否可能是一个问题,现在这太模糊了。)
  • 是的,你明白了。 event.stopPropagation() 成功了。谢谢。

标签: javascript jquery events keydown preventdefault


【解决方案1】:

根据 CBroe 的输入,解决方案是在有异常的元素调用 keydown 事件时调用 stopPropagation():

$('textarea').on('keydown', function(event) {
      event.stopPropagation();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-01
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 2016-04-27
    相关资源
    最近更新 更多