使用jQuery“拥有”文本输入的最佳方式是什么,以便我可以输入,从代码中的“拥有”发生的事件中侦听事件,但是否则阻止任何其他JavaScript接收{{ 1}}和keydown
事件。
答案 0 :(得分:0)
您可以停止来自propogating
的活动我们可以使用event.isPropagationStopped()来确定是否使用此方法 被称为(在那个事件对象上)。
此方法适用于使用trigger()触发的自定义事件。
请注意,这不会阻止同一元素上的其他处理程序 从跑步。
答案 1 :(得分:0)
直接在元素上设置事件处理程序并使用stopImmediatePropagation()
,这样即使元素上的其他处理程序也不会运行。对于某些元素类型,您可能还需要preventDefault()
。
确保您的事件处理程序直接在元素上,而不是使用委托/实时表单,或者在事件冒泡到处理程序之前可以触发其他处理程序。
如果元素在脚本运行之前在页面上,则其他内容可能已经有机会添加事件处理程序。在这种情况下,您可以在添加自己的元素之前删除元素上已有的任何事件处理程序。您可以使用$._data(*element*,"events")
获取事件处理程序的对象,然后递增键以查找事件的所有名称并删除对象上的任何事件处理程序。