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

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

 "  "+val.insertTime+"

想给这个 标签加点击事件:

因为用的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最好的给动态标签加事件的方式,但是我目前找到的能用的方式吧,在此记录一下。

你可能感兴趣的:(教程)