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 相关文章推荐
javascript AutoScroller 函数类
May 29 Javascript
如何将一个String和多个String值进行比较思路分析
Apr 22 Javascript
jquery事件preventDefault()方法用法实例
Jan 16 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
Mar 25 Javascript
在for循环中length值是否需要缓存
Jul 27 Javascript
jQuery下拉框的简单应用
Jun 24 Javascript
JavaScript数据存储 Cookie篇
Jul 02 Javascript
JS中检测数据类型的几种方式及优缺点小结
Dec 12 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Dec 15 Javascript
three.js实现炫酷的全景3D重力感应
Dec 30 Javascript
ES6中定义类和对象的方法示例
Jul 31 Javascript
Layui数据表格之单元格编辑方式
Oct 26 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跨站刷票的实现代码
2013/06/18 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
Javascript 不能释放内存.
2006/09/07 Javascript
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
Vue如何获取数据列表展示
2019/12/11 Javascript
Python logging模块学习笔记
2014/05/24 Python
python遍历小写英文字母的方法
2019/01/02 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
python读取指定字节长度的文本方法
2019/08/27 Python
Python实现对adb命令封装
2020/03/06 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
Django如何使用redis作为缓存
2020/05/21 Python
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
惠普香港官方商店:HP香港
2019/04/30 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
幼师自荐信
2013/10/26 职场文书
社会实践感言
2014/01/25 职场文书
外语系大学生自荐信范文
2014/03/01 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
课外活动总结
2015/02/04 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
laravel添加角色和模糊搜索功能的实现代码
2021/06/22 PHP
Java SSH 秘钥连接mysql数据库的方法
2021/06/28 Java/Android
JavaScript中reduce()的用法
2022/05/11 Javascript