美文网首页
JQuery绑定动态元素事件问题

JQuery绑定动态元素事件问题

作者: 鐘濤 | 来源:发表于2017-06-15 23:32 被阅读0次

实际场景

在一个网盘页面添加新建文件夹,确定后,在页面里追加元素。如果直接使用click()bind()会出现加载页面时不存在的元素(也就是后来追加到页面的元素)没有绑定点击事件。

确定新建文件夹

在页面新生成的文件夹,却没有点击事件,也就是我无法框选它等等。


解决方法

  • 使用.on(events, selector, callback)解决
    events:监听的事件
    selector:绑定事件的元素
    callback:事件触发的回调函数
    举个例子
fileBody.on('click', 'tr', function () {
        if (!$(this).hasClass('tr-hover')) {
            //  增加选中样式
            $(this).addClass('tr-hover');
            $(this).find('span').addClass('tr-click');
            i++;
        } else {
            //  移除选中样式
            $(this).removeClass('tr-hover');
            $(this).find('span').removeClass('tr-click');
            i--;
        }
        //  网盘具体功能的显示隐藏
        i > 0 ? $('.btn-group').css('display', '') : $('.btn-group').css('display', 'none');
        i > 1 ? $('.newName').addClass('disabled') : $('.newName').removeClass('disabled');
    });

其中fileBodytr的父级元素。

  • 使用.live()解决 不建议已被废除

参考资料来自SegmentFault


感谢小武不杀之恩,为了写博客,我们又被暴雨困在B9了。

相关文章

  • JQuery绑定动态元素事件问题

    实际场景 在一个网盘页面添加新建文件夹,确定后,在页面里追加元素。如果直接使用click()或bind()会出现加...

  • 通过jquery动态添加的元素绑定事件

    1.一般通过jquery绑定事件# 2.通过jquery添加的元素绑定事件#

  • jquery之给动态添加的元素绑定事件

    通常我们使用jquery给元素class='addContent'绑定点击事件时代码如下: 但是当我们动态添加另外...

  • jQuery事件

    jquery事件 事件函数列表: 取消绑定事件: jquery元素节点操作 插入节点 删除节点 todolist(...

  • 苹果手机和安卓手机 动态绑定事件

    动态绑定事件: $(document).on('click','绑定的元素',function(){todo......

  • jQuery和zepto

    1, 有jQuery动态生成的dom, 需要用live绑定事件, 或者用on live绑定: on绑定: 要绑定到...

  • 最近碰到的问题

    1.异步的无序 根据后端返回的数据动态生成元素,然后给元素绑定事件问题:数据还没请求回来,执行绑定事件函数的时候报...

  • jquery动态绑定事件

    项目里常常会有给动态生成的元素绑定事件的情况给元素绑定事件一般使用on()就可以了,但是对于未生成的元素是无效的 ...

  • jquery动态事件绑定

    事件:用了一个插件ajax调用外部文件弹窗,但是无法做表单验证。原因:没有给后来加入文档流的dom添加事件。办法:...

  • js跟jq的事件绑定以及解绑

    事件绑定 基本的事件绑定 其他事件绑定 On 替代bind方法/解绑用unbind on代替live动态创建元素绑...

网友评论

      本文标题:JQuery绑定动态元素事件问题

      本文链接:https://www.haomeiwen.com/subject/omxpqxtx.html