layui动态绑定事件的方法


Posted in Javascript onSeptember 20, 2019

Tips:很多前端新手会遇到动态创建DOM(html片段)的场景,原来的点击事件无法生效。以及成熟的layui框架动态创建DOM(html片段)不知道如何解决,接下来为大家解释其实现的原理,是主要是通过es6的写法。

一、常规动态创建DOM(html片段)

<!--.html代码片段-->
<!--按钮-->
<button class="data-set" type="button">添加</button>
<!--动态创建的位置-->
<div class="setBox" data-uid="setBox"></div>

<!--jQ代码片段-->
 $(function(){//初始化
  var setBox=$('.setBox');//获取动态添加对象
  $('.data-set').on('click',function () {

    var _html3=`
    <div class="info"> <admin:text  value=""     class="timeInterval" /> <span class="del"> 删除</span> </div>
    `;//此处用es6的方式拼接需要动态创建的代码(模板)
    setBox.append(_html3);//append方法将_html3动态添加到setBox内
    //$('.timeInterval').focus();//聚焦(如果是layui框架会有小bug,用户要先失去焦点再点一次才能调用layui方法)
   });

  $('body').on('click','.del',function () {//事件委托,请看下方注释
    $(this).parents('.info').hide();//模拟前端删除按钮
   });
 })

Tips:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。这也是解决动态创建HTML片段点击事件无法生效的原因。body是父级,即DOM本就存在的对象,但是考虑到兼容性,移动端IOS不支持body作为事件绑定的对象,本文的解决方案是将body改为.setBox即可完美实现事件委托。

效果图如下:

layui动态绑定事件的方法

Tips:绿色框内为初始状态,红色框内为点击添加后实现的模型

二、layui动态绑定事件

1.框架的引入和实例化

自行引入layui.css和layui.js,初始化或者实例化laydate,如果没有这些操作可是会报错的哦。

layui.use('laydate', function(){
  var laydate = layui.laydate;
})

2.html代码片段

<b>禁止交易时间点击日历增加</b>
<!--按钮-->
<p class="data-stop">添加</p>
<!--动态创建的位置-->
<div class="stopBox"></div>

tips:此处的p标签为按钮,样式自行修改

3.js代码片段

var stopBox=$('.stopBox');
  var test=0;//定义一个变量,用于动态创建类名
  $('.data-stop').on('click',function () {
   test=test+1;//防止类名重复
   var _html2=`<div class="info"><admin:text value="" len="250" class="stop${test}"/> <span class="del"> 删除</span></div>`;//(关键)此处用es6的方式拼接需要动态创建的代码(模板),若不是es6的写法$(test)无法识别,需要用“+test+”的方式去拼接。
 stopBox.append(_html2);//实现代码片段动态添加
  //(关键)执行一个laydate实例,如果不执行实例化,无法给动态添加的DOM节点绑定方法
  laydate.render({
   elem: '.stop'+test //指定元素,test为变量
  });
  //$('.stop'+test).focus();//建议不使用聚焦,否则用户体验感不佳
 });

  //交易时间删除按钮
  $('body').on('click','.del',function () {
   $(this).parents('.info').hide();//模拟删除
  });

效果图如下:

layui动态绑定事件的方法

layui动态绑定事件的方法

以上这篇layui动态绑定事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript读取cookie函数代码
Oct 16 Javascript
jQuery代码优化 事件委托篇
Nov 01 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
Apr 02 Javascript
调用innerHTML之后onclick失效问题的解决方法
Jan 28 Javascript
JavaScript实现表格快速变色效果代码
Aug 19 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
Nov 06 Javascript
jQuery如何获取动态添加的元素
Jun 24 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
Apr 07 Javascript
简单实现jQuery轮播效果
Aug 18 jQuery
javascript对HTML字符转义与反转义
Dec 13 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
Nov 07 jQuery
微信小程序wx.navigateTo方法里的events参数使用详情及场景
Jan 07 Javascript
利用JS代码自动删除稿件的普通弹幕功能
Sep 20 #Javascript
基于layui table返回的值的多级嵌套的解决方法
Sep 19 #Javascript
layui默认选中table的CheckBox复选框方法
Sep 19 #Javascript
layui 数据表格复选框实现单选功能的例子
Sep 19 #Javascript
基于layui的table插件进行复选框联动功能的实现方法
Sep 19 #Javascript
解决layui的table插件无法多层级获取json数据的问题
Sep 19 #Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 #Javascript
You might like
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
php 变量未定义等错误的解决方法
2011/01/12 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
理解Javascript_03_javascript全局观
2010/10/11 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
详解addEventListener的三个参数之useCapture
2015/03/16 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
2015/07/18 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
python中模块的__all__属性详解
2017/10/26 Python
Python模块的加载讲解
2019/01/15 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
行政文员岗位职责
2013/11/08 职场文书
夜大毕业生自我评价分享
2013/11/10 职场文书
大学生创业计划书的范文
2014/01/07 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
《再见了,亲人》教学反思
2014/02/26 职场文书
商家认证委托书格式
2014/10/16 职场文书
信访维稳承诺书
2015/05/04 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
趣味运动会加油词
2015/07/18 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android