求教一个动态生成的按钮的问题

未结贴
11 481
MrYao
MrYao 2017-07-12
悬赏:5飞吻
下面这段代码应该怎么改才不会点击两次才生效
//动态生成的二级节点按钮的点击事件
$('.layui-table').on('click', '.add-scd-node-btn', function() {
$('.add-scd-node-btn').each(function(i, e) {
$(e).click({id: i}, function(e) {
console.log(e.data.id + 1);
layer.open({
type: 1,
title: '添加二级节点',
area: ['400px', '240px'],
shadeClose: true,
content: $('#add-scd-node-con')
});
form.on('submit(addScdNode)', function(data){
var txt = $('#add-scd-node-form input[name=scdNodeName]').val();
$('.sign').eq(e.data.id).append('<a class="layui-btn layui-btn-small">'+txt+'</a>');
return false;
});
});
});
});
回帖
  • MrYao
    2017-07-12
    //动态生成的二级节点按钮的点击事件
    $('.layui-table').on('click', '.add-scd-node-btn', function() {
    $('.add-scd-node-btn').each(function(i, e) {
    $(e).click({id: i}, function(e) {
    console.log(e.data.id + 1);
    layer.open({
    type: 1,
    title: '添加二级节点',
    area: ['400px', '240px'],
    shadeClose: true,
    content: $('#add-scd-node-con')
    });
    form.on('submit(addScdNode)', function(data){
    var txt = $('#add-scd-node-form input[name=scdNodeName]').val();
    $('.sign').eq(e.data.id).append('<a class="layui-btn layui-btn-small">'+txt+'</a>');
    return false;
    });
    });
    });
    });
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-07-12
    绑定事件不要写到别的绑定事件里,多个绑定事件应该是同级的,并且都写在最外层
    最简单的理解方式就是用语言描述你的需求,然后把你的语言转换为代码
    ====
    比如:
    我要给这些按钮绑定点击事件,希望点击的时候触发我的某些逻辑

    然而你上面的代码实现的是点击 .layui-table 的时候 给每个 .add-scd-node-btn 添加点击事件
    0 回复
  • 学习学习啊
    0 回复
  • MrYao
    2017-07-12
    @小魔方 第二个click是识别当前动态生成的add-scd-node-btn点击的是哪个
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-07-12
    @MrYao 绑定事件的用法是直接绑定全部
    你的需求是点击的时候触发事件,而不是点击的时候触发绑定事件
    你需要学习下事件委托给页面不存在的元素添加绑定事件
    比如:
    $(document).on('click', '.add-scd-node-btn', fun...
    0 回复
  • MrYao
    2017-07-12
    @小魔方 我想解决的问题的关键是:我怎么识别当前点击的是生成哪个.add-scd-node-btn
    0 回复
  • MrYao
    2017-07-12
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-07-12
    @MrYao
    在点击事件里 $(this).index() 可以获取自己的编号
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-07-12
    你这属于严重的 xy 问题
    0 回复
  • MrYao
    2017-07-12
    @小魔方 xy是什么意思? 我是智商不够用了么? 换个思路解决下吧
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-07-12
    @小魔方 百度 xy 问题,xy 问题指的是你提问题的姿势不对
    0 回复
近期热议
layui 2.1.5 发布,局部细节优化 59
预告一下,下一个版本 table 模块会大幅增强 44
table 里面的删除按钮怎么操作 24
开放 layui 官方交流二群 23
数据表格 自定义响应体 无反应 22
form事件提交以后,后台返回的json怎么获取? 22
layui图标显示问题 21
数据表格的使用问题!!急求大佬帮忙解决 21
经多人举报,某 layui 千人群存在管理员恶意误导行为 20
java后台快速开发框架automain发布,前端部分支持且仅支持layui 19
layui

微信扫码关注 layui 公众号