jquery事件绑定无效

项目中有一个需求用到了点击事件绑定,但它始终无法生效,我的写法如下:

$("button[name='xxx']").off('click').on('click', function() {}

由于对jquery不太熟悉,一开始我以为是自己的写法出了问题,后来询问过大佬才得知其实是逻辑出了问题。

 

该部分原先分为三大模块,其中第二模块又内含十几个小模块,即:有父子构成关系。

所以初始化点击事件其实是初始在了父一模块,当切换下一页进入父二模块时,整个页面又重新渲染了一遍,导致未初始化,点击事件无效。

最终的解决方式是将初始化写在加载父二模块时的地方,确保整个子模块都可以使用。

 

排查问题的思路:

1. 梳理页面逻辑,明确功能函数应该在什么时候触发和初始化(如:该功能初始化为模块加载时);

2. 找到所需模块(父二)加载的大概位置,以便后续进行逻辑编写;

3. 若不清楚具体位置,可以用debugger、console.log、alert进行查找(本次查找使用的是alert)。

posted @ 2021-07-01 11:16  沐夏52Hz  阅读(193)  评论(0编辑  收藏  举报