在没有选择器的情况下将文档键入事件过滤到特定元素

时间:2019-03-29 22:17:40

标签: jquery events keyup

我正在动态创建没有唯一句柄的元素,因此我无法真正构建选择器以传递给“ on”进行过滤。

根据文档,似乎“ on”也不接受选择器的jQuery元素。我不明白为什么不这样做,因为当我可以直接提供有问题的元素时,必须处理字符串选择器(产生开销)。

我在这里缺少明显的东西吗?

$(document).on('keyup', elm, function(ev){ console.log( 'keyup on', ev.target ) });

基本上,我只希望在elm发出keyup事件时触发此事件实例。

编辑

忘记了一些上下文:

  • 该元素尚不在DOM中,它是在内存中创建的,我正在尝试在其中设置所有事件。
  • 我尝试将keyup事件直接绑定到元素,但是不会触发。不知道为什么。我以为可能是因为它不在DOM中。
  • 该元素不是输入/文本区域,我依靠contenteditable / user-modify允许输入。

结论

  • 问题是由我的CSS引起的。看来,如果父级具有用户修改权限,则子级的keyup事件不会触发。公平地说,应该以用户修改为目标,以避免DOM编辑。

1 个答案:

答案 0 :(得分:0)

问题是由我的CSS引起的。看来,如果父级具有用户修改权限,则子级的keyup事件不会触发。公平地说,用户修改应该尽可能有针对性,以避免DOM编辑。