使用layui,动态生成的标签加onclick点击事件,终于找到一个能用的方法了,可以获取当前元素

使用layui的时候,动态生成一段数据:

 "<i class='fa fa-clock-o fa-1g' style='color: darkgrey; padding-left: 80px'>  "+val.insertTime+"</i>

想给这个 <i></i>标签加点击事件:

因为用的layui框架,整体上也用了它的一些规则:

layui.use(['layer', 'element', 'flow', 'form'], function () {
    //carousel为轮播图所用
    var layer = layui.layer,
        form = layui.form,
        element = layui.element;
    var $ = layui.$;
    var flow = layui.flow;
    
    //下面举例的几个代码片段,都放在这里,放在layui.use的大括号里

});

大概是上面的样子,然后在尝试加事件的时候,尝试过标签里加“οnclick=xxx()”,配合外面的function发现不好用,看了下layui的元素监听事件,大抵也都是些规定好的元素,像一些普通的标签,好像没有给到监听事件。改为如下,依然不好用:

 //i点不动啊
    $("i").click(function (event) {
       alert("a")
    });

又查了一下资料,找到一段,xxx为定义在标签里的click事情:

 window.xxx = function () {
      alert("in");
      console.log($(this))
 }

可以进入,但是获取不到当前点击的元素啊。

最终找到了如下方法,可行:

$(document).on('click','i.fa-clock-o',function(){
        layer.msg('hello');
        console.log($(this).html())
    });

可以实现自己的需求了。。。

或许,这不是使用layui最好的给动态标签加事件的方式,但是我目前找到的能用的方式吧,在此记录一下。

  • 15
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值