我如何使用jQuery拥有文本输入


使用

jQuery "拥有"文本输入的最佳方法是什么,以便我可以在其中键入内容,侦听代码中"拥有"发生的事件,但否则会阻止任何其他 JavaScript 接收keydownkeyup事件。

您可以阻止事件传播

我们可以使用 event.isPropagationStop() 来确定此方法是否 曾经被调用(在该事件对象上)。

此方法也适用于使用 trigger() 触发的自定义事件。

请注意,这不会阻止同一元素上的其他处理程序 从运行。

直接在元素上设置事件处理程序并使用stopImmediatePropagation()这样甚至元素上的其他处理程序也不会运行。您可能还需要为某些元素类型preventDefault()

确保事件处理程序

直接位于元素上,而不是使用委托/实时窗体,否则可以在事件冒泡到处理程序之前触发其他处理程序。

如果元素在脚本运行之前位于页面上,则其他内容可能已经有机会添加事件处理程序。在这种情况下,您甚至可以在添加自己的事件处理程序之前删除元素上已有的任何事件处理程序。您可以使用 $._data(*element*,"events") 获取事件处理程序的对象,然后在键上递增以查找事件的所有名称并删除对象上的任何事件处理程序。

相关内容

最新更新