2013-10-24 24 views
0

什么是使用jQuery“拥有”文本输入的最佳方式,以便我可以输入它,从“拥有”发生的代码中监听事件,但以其他方式阻止任何其他JavaScript接收到​​和keyup事件。如何使用jQuery自定义文本输入?

+2

阻止它传播的事件。 –

+0

http://api.jquery.com/event.stopPropagation – Blazemonger

+0

并停止立即传播 –

回答

0

您可以从propogating

停止的事件我们可以用event.isPropagationStopped(),以确定这种方法 被称为有史以来(该事件对象)。

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

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

0

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

确保您的事件处理程序直接在元素上,而不是使用委托/活动表单,或者在事件冒泡到处理程序之前触发其他处理程序。

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

相关问题