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

提问 未结
11 767
MrYao
MrYao 2017-7-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-7-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-7-12
    绑定事件不要写到别的绑定事件里,多个绑定事件应该是同级的,并且都写在最外层
    最简单的理解方式就是用语言描述你的需求,然后把你的语言转换为代码
    ====
    比如:
    我要给这些按钮绑定点击事件,希望点击的时候触发我的某些逻辑

    然而你上面的代码实现的是点击 .layui-table 的时候 给每个 .add-scd-node-btn 添加点击事件
    0 回复
  • 学习学习啊
    0 回复
  • MrYao
    2017-7-12
    @小魔方 第二个click是识别当前动态生成的add-scd-node-btn点击的是哪个
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-7-12
    @MrYao 绑定事件的用法是直接绑定全部
    你的需求是点击的时候触发事件,而不是点击的时候触发绑定事件
    你需要学习下事件委托给页面不存在的元素添加绑定事件
    比如:
    $(document).on('click', '.add-scd-node-btn', fun...
    0 回复
  • MrYao
    2017-7-12
    @小魔方 我想解决的问题的关键是:我怎么识别当前点击的是生成哪个.add-scd-node-btn
    0 回复
  • MrYao
    2017-7-12
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-7-12
    @MrYao
    在点击事件里 $(this).index() 可以获取自己的编号
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-7-12
    你这属于严重的 xy 问题
    0 回复
  • MrYao
    2017-7-12
    @小魔方 xy是什么意思? 我是智商不够用了么? 换个思路解决下吧
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-7-12
    @小魔方 百度 xy 问题,xy 问题指的是你提问题的姿势不对
    0 回复