layui问题之模拟select点击事件的实例讲解


Posted in Javascript onAugust 15, 2018

一、问题

不操作页面,实现模拟select的事件,即,自动出现下拉框,自动点击下拉框的值,select文本框的值随之改变

二、经过

刚开始查看layui官方文档,发现仅仅只是有select监听事件,即:

form.on('select(filter)', function(data){
 console.log(data.elem); //得到select原始DOM对象
 console.log(data.value); //得到被选中的值
});

但是,这个事件需要操作页面,不可取。

三、结果

查看layui源码,关于select事件的实现,在form.js中,看实现的原理。自动触发select点击原理就是:

1、找到当前select的下一个div.layui-select-title节点的子元素,即input或者i,实现点击事件。

2、上一步骤完了之后,出现下拉框,但是下拉框还没有点击事件;需要再实现你想让下拉框里面的哪个值有点击事件。此时,需要通过select找到下拉框dl里面的dd的具体的值,然后实现点击事件。

这样就完整的实现了模拟select点击事件。

源码:

<!-- HTML -->
<select name="modules" lay-verify="required" lay-search="">
            <option value="">直接选择或搜索选择</option>
            <option value="1">layer</option>
            <option value="2">form</option>
            <option value="3">layim</option>
          </select>
// JS:
$('select[name="modules"]').next().find('.layui-select-title input').click();

$('select[name="modules"]').next().find('.layui-anim').children('dd[lay-value="20"]').click();

虽然实现了效果,实际上看不出来效果,加一个延迟就可以了:

// 优化后的js
$('select[name="modules"]').next().find('.layui-select-title input').click();

// 延迟3s再实现自动点击下拉框事件

setTimeout(function () {
          $('select[name="modules"]').next().find('.layui-anim').children('dd[lay-value="20"]').click();

},3000);

以上这篇layui问题之模拟select点击事件的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
FireFox与IE 下js兼容触发click事件的代码
Nov 20 Javascript
制作高质量的JQuery Plugin 插件的方法
Apr 20 Javascript
关于JavaScript中name的意义冲突示例介绍
May 29 Javascript
JS弹出可拖拽可关闭的div层完整实例
Feb 13 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
Apr 07 Javascript
jQuery实现仿Google首页拖动效果的方法
May 04 Javascript
非常漂亮的相册集 使用jquery制作相册集
Apr 28 Javascript
js运动事件函数详解
Oct 21 Javascript
JS原型继承四步曲及原型继承图一览
Nov 28 Javascript
小程序实现五星点评效果
Nov 03 Javascript
通过GASP让vue实现动态效果实例代码详解
Nov 24 Javascript
vue自定义指令和动态路由实现权限控制
Aug 28 Javascript
深入理解Vue router的部分高级用法
Aug 15 #Javascript
JS打印彩色菱形的实例代码
Aug 15 #Javascript
layui点击按钮添加可编辑的一行方法
Aug 15 #Javascript
layui 优化button按钮和弹出框的方法
Aug 15 #Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 #jQuery
Webpack 4.x搭建react开发环境的方法步骤
Aug 15 #Javascript
React+Webpack快速上手指南(小结)
Aug 15 #Javascript
You might like
php miniBB中文乱码问题解决方法
2008/11/25 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
2016/08/05 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
2018/11/21 Javascript
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
pytorch + visdom CNN处理自建图片数据集的方法
2018/06/04 Python
python flask实现分页的示例代码
2018/08/02 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
python实现各种插值法(数值分析)
2019/07/30 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
店长岗位职责
2013/11/21 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
实习生工作证明范本
2014/09/14 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
领导欢迎词范文
2015/01/26 职场文书
Python学习之异常中的finally使用详解
2022/03/16 Python
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技
git中cherry-pick命令的使用教程
2022/06/25 Servers