我试图解决其中一个jQuery侦听器连接到一个DOM元素在一个页面上,但不是另一个,我不是非常熟悉复杂的Web应用程序的问题。如何查找大型Web应用程序中的事件处理程序的附加位置?
问题: 有一个子菜单,应该将鼠标悬停在主菜单项上。有两个版本的页面(Legacy和New),它们表面上应该运行非常相似的代码(页面内容略有不同,但UI代码应该表面上是相同的),两者都有这个菜单。
在旧版本中,菜单功能工作正常,但在新版本中,此子菜单不上悬停渲染。当我在相关DOM元素的“事件监听器”下查看Chrome开发工具时,我发现虽然旧版页面上有mouseover
和mouseout
的相应处理程序,但新页面没有。
我的过程,希望解决这个问题是要找到什么是在旧版本的安装事件侦听器,然后通过调试来研究为什么这些未在新版本安装。这是我遇到麻烦的地方。
这是我看到的事件:
mouseout:
li.submenu:
handler: function (a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b}
arguments: null
caller: null
elem: li.submenu
length: 1
name: ""
prototype: Object
constructor: function (a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b}
__proto__: Object
__proto__: function Empty() {}
<function scope>
isAttribute: false
lineNumber: 3
listenerBody: "function (a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b}"
node: li.submenu
sourceName: "https://myServer.com/jquery/1.7.1/jquery-min.js"
type: "mouseout"
useCapture: false
我不确定我该如何使用这些信息来发现是否附着该处理程序,我需要看看建立,为什么实际的代码此处理程序未在新版本的页面中附加。 jQuery-min的使用有点复杂,我不能换出版本。
是否有一个由哪一种方法,使用这种信息,我可以在那里建立这个处理程序从何而来?
谢谢!