layui源码详细分析系列之element模块以及自定义事件机制

Layui实现自定义的table列悬停事件并气泡提示信息 使用layui组件实现table的指定列悬停时提示信息,因为layui组件中没有鼠标悬停事件支持,所以需要结合js原生事件来实现这个功能,并结合layui的tips和列的templte属性气泡提示实现效果。 阅读详情

element内置模块时layui框架中页面元素的交互功能的实现,主要是选项卡、面板、导航等的交互的实现。

下面先分析element模块的组织结构,具体如下图所示:
element模块组织结构

从上图中可以看出,element模块使用该框架自己的模块加载机制来加载该模块。

该框架内置的模块都是采用面向对象的编程,该模块也是,定义了Element构造函数,对外的API接口都定义在Element的原型对象上,使用JQuery来绑定一些原生的事件。call对象中定义真正处理选项卡等交互以及初始状态的处理程序。

element模块中使用框架自己定义的事件处理机制,具体实际上使用layui主体文件中的onevent和event来进行事件的注册以及事件的执行。

因为该模块最后输出的是函数类型,所以在使用该模块时要求如下:

layui.use(['element'], function() {
	var element = layui.element();
});

上面实际会自动执行一些初始化的工作,具体就会选项卡、面板等的初始状态的设置。

下面讲解layui自定义的事件机制,该框架定义事件名的形式如下:

功能名(lay-filter属性名)

在该框架中有lay-filter属性,该属性就是用于事件标识的。

什么时候使用该框架内置的事件机制?当你想要执行其他的操作,例如获取相关数据等,就可以使用自定义的事件机制。

下面使用实例来讲解框架事件机制的具体的逻辑处理,假设选项卡有属性lay-filter=‘demo’, 那么就可以使用该框架自定义的事件机制,具体如下:

使用该机制的代码:
layui.use(['element'], function() {
	var ele = layui.element();
	
	// tab(demo)就是事件名
	ele.on('tab(demo)', function(data) {
		cosnole.log(data);
	});
});

具体的逻辑流程如下图:
layui自定义事件机制

具体如上图所示,实际上内部维持了config.event对象来保存事件,onevent实现事件注册以及监听,实际上就是存储在config.event对象中,具体存储形式如下:

config.event[modeName + '.' + event] = [callback]

在本例中modeName为element,event为tab(demo), callback就是就是事件处理程序,本例中callback如下:

callback = functio(data) {
	console.log(data);
};

详细的代码注释以及相关的逻辑图我会上传到我的Github上,通过今天对于现在这种代码学习,有些迷茫了。

总结下现在这种阅读代码的方式的缺点:

  1. 有点纸上谈兵的感觉,不充实很虚
  2. 有些为看而看的感觉,没有非常大的收获,反而有些疲惫,没有自己成长了的自豪感

所以以后的文章就不会是这种方式出现了,目前想到的很好提高自己同时最大程度的提高自己,以后的风格将会以事实为依据,来具体展开,具体的形式如下:

  1. 自己会动手编写一个简易版实现核心功能的demo,并给出自己的思路
  2. 查看框架作者实现的思路,比较自己的思路与作者思路的相同点以及不同点,进行分析总结,丰满自己的思路

今天就到此为止,走走停停,方能走得更远,明天会分析文件上传以及流加载模块。

致远行的你我
Layui vs ElementUI:轻量级Web UI框架选型指南(2024最新对比) 本文深度对比了Layui与ElementUI两大Web UI框架在2024年的核心差异。Layui以其极低的工程化门槛和轻量体积,适合快速构建简单页面或维护传统项目;而ElementUI(及Element Plus)深度集成Vue生态,凭借强大的组件化、工程化支持和活跃社区,更适合构建复杂、需长期维护的企业级单页应用。选型应基于项目技术栈、复杂度及团队背景综合决策。 阅读详情

相关推荐

基于layui内置模块(element常用元素的操作)

今天小编就为大家分享一篇基于layui内置模块(element常用元素的操作),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

layui——element模块

介绍 对页面中一部分元素(tab、progress、nav、breadcrumb、collapse)的操作需要处理接口,layui统一放到element模块处理; 1 预设元素属性 我们通过自定义元素属性来作为元素的功能参数,他们一般配置在容器外层;element模块支持的元素如下表: 属性名 可选值 说明 lay-filter 任意字符 事件过滤器(公用属性),主要用于事件的精确...

lxw1005192401的博客 1万+

扬声器设计避坑指南:用Comsol分析反电动势对THD的影响(附案例文件)

本文深入探讨了扬声器设计中反电动势对总谐波失真的关键影响。通过COMSOL仿真,详细分析了BL值非线性、音圈电感变化等电磁-力-声耦合机制,并提供了从参数化建模到系统级优化的实战指南,帮助工程师精准量化并降低谐波失真,提升扬声器音质。

xx56789的博客 520

LayUI框架——选项卡等element组件使用

在项目中我们需要编写许多页面,在页面中有许多元素需要自动去完成一些处理,譬如导航菜单的小滑块、Tab的切换等操作。他们往往不需要去单独调用一个方法来开启一项功能,而页面上恰恰有太多这样的小交互,所以在Layui框架中统一归类为element组件。跟表单一样,基于元素属性和事件驱动的接口书写方式。element。

让优秀成为一种习惯! 2615

仿真每日一练 | 有限元模态分析详解

结构的振动一直是工业领域产品分析的重点,在振动的仿真分析中,模态分析是其最基本的分析类型,通过研究结构的固有频率和振型对产品的设计提供指导。2.2、在interaction模块,通过special->Spring,在各点之间分别创建弹簧单元,弹簧刚度为1000。2.1、在interaction模块,创建两个RP点,与两侧RP点各间隔100大小,如图3所示;其中M、K、C均为n*n的矩阵,s、x、v为n*1的矢量,n为系统自由度数量。3、在Assembly模块创建装配体,两点之间的距离为100,如图2所示;

ansysxuexizhe的博客 1655

多模态变体—ALIGN:高效的图像-文本学习

ALIGN 论文介绍了该模型的关键技术。无人工标注数据:使用互联网数据进行训练,不依赖人工清洗的数据集。高效的对比学习策略:采用大规模图像-文本配对数据,通过对比学习优化嵌入空间。支持零样本(zero-shot)学习:可以在没有专门训练的情况下执行多种任务,如分类、检索等。可扩展性强:ALIGN 采用高效的 CNN 或 Transformer 作为编码器,适用于大规模计算。

Azperk的博客 1218

终极指南:如何快速掌握LayUI 2.9.20 Element模块重构,轻松实现界面交互升级

LayUI 2.9.20的Element模块重构是一次重要的界面交互升级,本文将从源码解析到实战应用,为你提供一份完整的指南,帮助你彻底搞懂这一模块的变化与使用方法。 ## Element模块重构的核心变化 Element模块作为LayUI中负责界面交互的重要部分,其重构带来了诸多改进。通过对源码的分析,我们可以发现重构后的Element模块在性能和易用性上都有显著提升。 在[src/mod

gitblog_00404的博客 402

告别RXTX:SpringBoot集成jSerialComm实现更现代的串口通信(附完整代码对比)

本文详细介绍了如何从传统的RXTX库迁移到jSerialComm,实现SpringBoot项目中更现代的串口通信。通过对比两种技术的依赖配置、API设计和跨平台支持,展示了jSerialComm在简化部署、提升性能和增强稳定性方面的优势,并提供了完整的代码示例和实战经验。

weixin_42522964的博客 286

layui隐藏侧边栏_layui禁用侧边导航栏点击事件的处理方法

layui是一款优秀的前端模块化css框架。我用layui做过两个完整的项目,对她的感觉就是,这货非常适合做后台管理界面,且基于jquery,很容易上手。当然,她最大的优点我觉得还是她的模块化方式,相比requirejs,seajs之类繁琐的配置,她更简单粗暴。如果你正在寻找这样一个前端框架,那么我向你推荐她。废话说了一堆,下面说重点。先上张图上面这张图对应的html代码是这样的销售管理销售订单建...

weixin_42397516的博客 1820

ensp企业网综合实验(课程设计)

使用MSTP+VRRP技术实现负载均衡以及增加网络的可靠性;出口配置napt;所有用户均为自动获取IP地址;

qq_50829760的博客 1万+

解决开着代理情况下pip或魔搭下载失败

最近由于经常配环境导致,老是要来回切clash关掉代理,非常的不方便如下面的,魔搭模型下载失败如下面的,pip换源后下载失败。

风吹落叶的博客 2950

layui隐藏侧边栏_如何禁用layui框架中的侧边导航栏点击事件

我们在工作中经常会用到框架,一款功能齐全又好用的框架的确可以提高工作效率。layui就是一款优秀的前端模块化css框架,且基于jquery,很容易上手。这篇文章主要介绍了layui禁用侧边导航栏点击事件,需要的朋友可以参考下。layui是一款优秀的前端模块化css框架。我用layui做过两个完整的项目,对她的感觉就是,这货非常适合做后台管理界面,且基于jquery,很容易上手。当然,她最大的优点我...

weixin_33291684的博客 1660

SPICE仿真软件:HSPICE_(20).HSPICE仿真结果的后处理

HSPICE仿真结果的后处理是一个多步骤的过程,包括读取结果文件、可视化、分析和导出。通过使用命令行工具、Python脚本和HSPICE内置工具,可以高效、准确地完成这些任务。Python脚本的灵活性和强大的数据分析能力使其成为后处理的理想选择。自动化处理可以显著提高工作效率,减少人为错误,而高级分析方法可以更深入地理解仿真结果,为电路设计提供有力支持。

kkchenjj的博客 1382

3分钟解决LayUI Tab切换事件重复执行:从根源到完美修复

你是否在使用LayUI的Tab组件时遇到过这样的困扰:点击切换标签后,事件莫名其妙地执行了多次?表单提交重复触发、数据加载多次请求、图表渲染错乱...这些问题不仅影响用户体验,还可能导致数据异常。本文将从问题根源入手,通过3种实用方案彻底解决这一顽疾,让你的Tab切换如丝般顺滑。 ## 问题现象与技术诊断 在基于LayUI开发后台管理系统时,许多开发者都会遇到Tab切换事件(afterChan...

gitblog_01167的博客 510

AI上推荐 之 逻辑回归模型与GBDT+LR(特征工程模型化的开端)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 8253

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

layui状态禁用_layui禁用侧边导航栏点击事件的处理方法

layui是一款优秀的前端模块化css框架。我用layui做过两个完整的项目,对她的感觉就是,这货非常适合做后台管理界面,且基于jquery,很容易上手。当然,她最大的优点我觉得还是她的模块化方式,相比requirejs,seajs之类繁琐的配置,她更简单粗暴。如果你正在寻找这样一个前端框架,那么我向你推荐她。废话说了一堆,下面说重点。先上张图上面这张图对应的html代码是这样的销售管理销售订单建...

weixin_39786534的博客 808

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

如何快速给网站加动画:AI 辅助 UI 动画生成指南(附 3 个工具)

这篇来自 GitHub_Trending/aig/ai-guide(鱼皮的 AI 知识库)的教程,讲的是用 AI 辅助生成 UI 动画这件事——你不用会设计、不用背 CSS 动画语法,只要会对着 AI 说人话,就能给网页加上淡入淡出、爱心飘落这类看着舒服的动效。 ## 先说个扎心的场景:页面做完了,就是"死"的 你有没有这种经历:让 AI 五分钟帮你搭了个页面,功能都对,可就是少点味道。点按钮

gitblog_00499的博客 492

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Layui导航栏下拉菜单不显示问题

1.首先检查自己有没有导入layui.js 2.检查是否已经加载element模块 <ul> ....... </ul> //放到你导航栏代码块的后面 <script> //注意:导航 依赖 element 模块,否则无法进行功能性操作 layui.use('element', function(){ var element =...

u014686493的博客 6300

PHP医院安全(不良)事件报告系统源码 vue2+element支持11大类不良事件上报、审核处理、分析改进

医院安全(不良)事件管理系统采用无责的、自愿的填报不良事件方式,有效地减轻医护人员的思想压力,实现以事件为主要对象,可以自动、及时、实际地反应医院的安全、不良、近失事件的情况,更好地掌握不良事件的发生趋势,为及时采取适当的管理措施和流程、制度改进提供了良好的量化依据。系统通过汇集不同类型事件的报告,从中分析出医院内部潜在的问题和风险,将发生的事故降到最低,从而保证病人安全和医护人员安全。

zmm201453的博客 1235

Layui 3.0组件架构深度解析:从模块化设计到企业级应用实战

Layui作为一套遵循浏览器原生态开发模式的Web UI组件库,在3.0版本中实现了从传统AMD模块化到现代ES Modules的架构演进。本文将从技术架构设计、核心实现机制、性能优化策略到企业级应用实践四个维度,深入剖析Layui 3.0的组件化设计理念与实现细节,为开发者提供从架构理解到生产部署的完整技术指南。 ## 背景分析:现代前端组件库的演进挑战 在Web前端技术快速迭代的背景下,传

gitblog_01069的博客 314

WTM框架使用技巧之:Layui版本嫁接Vue+ElementUI

为什么要这样做 layui版本具备很多优点:组件齐全、ide提醒程度高、代码量少、依赖少、编译快、运行快,非常适合一个人的开发全队。 但它也有很多缺点,比如说组件灵活度低、可控性差。 受blazor ssr的思路启发,将vue嫁接进layui版本中,在大部分常规页面中,保留layui的快速高效用法。在极少部分需要大量定制化的页面,采用vue+elementUI的方式编写,既能保证开发效率,又能解决复杂页面编写。 因此本文拿一个页面改造的例子,旨在抛砖引玉。 准备工作 在_Layout中引入包 _Layo

rea-zhuang的博客 2416

3行代码解决Layui动态元素右键菜单失效问题:从原理到实战

Layui作为一套遵循原生态开发模式的Web UI组件库,以其轻量级模块化规范和易上手特性,帮助开发者更简单快速地构建网页界面。在实际开发中,动态元素的右键菜单失效是一个常见问题,本文将从原理到实战,教你用3行代码轻松解决这一难题。 ## 问题现象与原因分析 🧐 在使用Layui的dropdown组件实现右键菜单功能时,开发者常常会遇到这样的问题:静态元素上的右键菜单工作正常,但通过Java

gitblog_00452的博客 375

layui 模板判断_浅谈layui使用模板引擎动态渲染元素要注意的问题

摸索这个模板引擎碰到的问题,分享一下本人在实现使用laytpl实现动态渲染菜单,来减少静态代码时候碰到了,元素是成功渲染出来,但是折叠动画效果和点击事件都失效了,然后仔细看了一下官方文档官方文档原话:跟表单元素一样,很多时候你的页面元素可能是动态生成的,这时element的相关功能将不会对其有效,你必须手工执行element.init(type, filter)方法即可。注意:2.1.6 开始,...

weixin_39604557的博客 672

spring boot+layui实现增删改查实战

说明: 最近在做一个后台,希望用一个现成的前端模板,找了一圈发现Layui比较合适。我知道很多人都有这个需求,为了使大家快速上手,我把自己写的最实用的增删改查案例完整的展示出来。 需要源码的请留下邮箱! Layui官网:https://www.layui.com/doc/ 后台:spring boot2.0,数据的话用的list没连接数据库。 前端:layui-...

老徐的博客只有干货 1万+

Layui弹层组件深度解析:企业级弹窗交互的完整技术方案

Layui作为一套遵循浏览器原生态开发模式的Web UI组件库,其layer弹层组件在前端开发中扮演着至关重要的角色。该组件库提供了高效、轻量且功能丰富的弹层交互解决方案,特别适合需要快速构建企业级Web应用的中级开发者。Layui layer组件通过简洁的API设计和模块化架构,实现了弹窗、提示、加载层等多种交互场景的完整覆盖,成为众多项目中的首选弹层方案。 ## 技术架构深度解析 ###

gitblog_00185的博客 626

js layui 模板属性 添加_js相关:浅谈layui使用模板引擎动态渲染元素要注意的问题...

js相关:浅谈layui使用模板引擎动态渲染元素要注意的问题发布于 2020-8-6|复制链接分享一篇关于浅谈layui使用模板引擎动态渲染元素要注意的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小妖过来看看吧摸索这个模板引擎碰到的问题,分享一下本人在实现使用laytpl实现动态渲染菜单,来减少静态代码时候碰到了,元素是成功渲染出来,但是折叠动画效果和点击事件都失效了,然后仔细看了一下官...

weixin_34118910的博客 656
上一篇: layui源码详细分析系列之模块加载机制
下一篇: layui源码详细分析系列之文件上传模块
玉案轩窗
博客等级 码龄10年 221粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值