0

我试图解决其中一个jQuery侦听器连接到一个DOM元素在一个页面上,但不是另一个,我不是非常熟悉复杂的Web应用程序的问题。如何查找大型Web应用程序中的事件处理程序的附加位置?

问题: 有一个子菜单,应该将鼠标悬停在主菜单项上。有两个版本的页面(Legacy和New),它们表面上应该运行非常相似的代码(页面内容略有不同,但UI代码应该表面上是相同的),两者都有这个菜单。

在旧版本中,菜单功能工作正常,但在新版本中,此子菜单不上悬停渲染。当我在相关DOM元素的“事件监听器”下查看Chrome开发工具时,我发现虽然旧版页面上有mouseovermouseout的相应处理程序,但新页面没有。

我的过程,希望解决这个问题是要找到什么是在旧版本的安装事件侦听器,然后通过调试来研究为什么这些未在新版本安装。这是我遇到麻烦的地方。

这是我看到的事件:

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的使用有点复杂,我不能换出版本。

是否有一个由哪一种方法,使用这种信息,我可以在那里建立这个处理程序从何而来?

谢谢!

回答

1

你需要选择的元素结合事件。

您可以使用选择器 - li.submenu或只是.submenu,然后在所有JavaScript文件中搜索这两个字符串。应该有一些地方,这些选择与jQuery的onbind或其他事件结合的方法,如addEventListener

使用
相关问题