一个页面引入了两个js文件,一个js文件中产生的点击事件,另一个js文件如何捕获到此点击事件

新晋玛龙 2020-10-18 05:27:09

如图左侧单位树是一个单独js,是layui的一个树形组件;右侧是一个条件搜索框js,是layui的form组件。在树形组件中点击一个结点后,如何在右边的搜索框捕获到这个点击事件,然后再发出一个ajax请求。该如何做?
...全文
11278 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
一流CV 2020-10-22
  • 打赏
  • 举报
回复
添加回调函数不是更好吗
老王就是我 2020-10-21
  • 打赏
  • 举报
回复
引用 5 楼 新晋玛龙 的回复:
[quote=引用 2 楼 老王就是我 的回复:]如果都没有退出当前页面代码的话,则所有绑定该控件的点击事件都会加载,顺序看引入js的引入代码顺序
主要是layui的树形组件点击事件是封装在树形的定义之中的,不懂怎么在树形组件的定义外部调用它封住的点击事件。就如jquery发送一个ajax请求,里面有一个succeess回调函数,但是如何在定义这个ajax请求之外,重写它的success方法类似.[/quote] 点进去看就成,js都是公开的
新晋玛龙 2020-10-20
  • 打赏
  • 举报
回复
引用 2 楼 老王就是我 的回复:
如果都没有退出当前页面代码的话,则所有绑定该控件的点击事件都会加载,顺序看引入js的引入代码顺序
主要是layui的树形组件点击事件是封装在树形的定义之中的,不懂怎么在树形组件的定义外部调用它封住的点击事件。就如jquery发送一个ajax请求,里面有一个succeess回调函数,但是如何在定义这个ajax请求之外,重写它的success方法类似.
新晋玛龙 2020-10-20
  • 打赏
  • 举报
回复
引用 3 楼 qybao 的回复:
为何非要捕获这个点击事件? 你可以在你的树结构的点击事件里追加一个回调函数,该回调调用ajax请求,然后根据请求结果设定layui的form组件,修改相关项目的数据
你这样说,这样是很容易实现的,因为layui的树形组件里面封装有一个点击回调函数,可以在这个回调函数中再调用右边查询框js中的函数。但是这个树形组件的js是很多页面都要引用它的,我把右边查询框js中需要调用的函数写到了树形组件的点击回调函数中,那别人也引入这个树形组件,那不是也要引入我的那个查询框中函数调用了吗?这样代码耦合度不就变高了吗?
qybao 2020-10-20
  • 打赏
  • 举报
回复
引用 4 楼 新晋玛龙 的回复:
[quote=引用 3 楼 qybao 的回复:]为何非要捕获这个点击事件? 你可以在你的树结构的点击事件里追加一个回调函数,该回调调用ajax请求,然后根据请求结果设定layui的form组件,修改相关项目的数据
你这样说,这样是很容易实现的,因为layui的树形组件里面封装有一个点击回调函数,可以在这个回调函数中再调用右边查询框js中的函数。但是这个树形组件的js是很多页面都要引用它的,我把右边查询框js中需要调用的函数写到了树形组件的点击回调函数中,那别人也引入这个树形组件,那不是也要引入我的那个查询框中函数调用了吗?这样代码耦合度不就变高了吗?[/quote] 怎会耦合度高呢?回调函数可以让用户自己设定啊,设定什么函数就执行什么函数,你只是在点击事件追加一个可以传回调函数的接口而已(或者让用户事先注册回调函数也可以)
ima_zhan 2020-10-20
  • 打赏
  • 举报
回复
直接在树里面加一个输入参数,就是点击节点后执行的事件行不行,初始化的时候给他赋值,对于当前需求就是把查询展示的函数复制给他
qybao 2020-10-19
  • 打赏
  • 举报
回复
为何非要捕获这个点击事件?
你可以在你的树结构的点击事件里追加一个回调函数,该回调调用ajax请求,然后根据请求结果设定layui的form组件,修改相关项目的数据
Hello World, 2020-10-19
  • 打赏
  • 举报
回复
注册事件,调用函数,不管在哪个JS里,加载了都是一样的
老王就是我 2020-10-19
  • 打赏
  • 举报
回复
如果都没有退出当前页面代码的话,则所有绑定该控件的点击事件都会加载,顺序看引入js的引入代码顺序

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧