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

未结贴
11 209
MrYao MrYao 发布于15天前
悬赏: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 MrYao
    15天前
    //动态生成的二级节点按钮的点击事件
    $('.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 回复
  • 绑定事件不要写到别的绑定事件里,多个绑定事件应该是同级的,并且都写在最外层
    最简单的理解方式就是用语言描述你的需求,然后把你的语言转换为代码
    ====
    比如:
    我要给这些按钮绑定点击事件,希望点击的时候触发我的某些逻辑

    然而你上面的代码实现的是点击 .layui-table 的时候 给每个 .add-scd-node-btn 添加点击事件
    0 回复
  • 学习学习啊
    0 回复
  • MrYao MrYao
    15天前
    @小魔方 第二个click是识别当前动态生成的add-scd-node-btn点击的是哪个
    0 回复
  • @MrYao 绑定事件的用法是直接绑定全部
    你的需求是点击的时候触发事件,而不是点击的时候触发绑定事件
    你需要学习下事件委托给页面不存在的元素添加绑定事件
    比如:
    $(document).on('click', '.add-scd-node-btn', fun...
    0 回复
  • MrYao MrYao
    15天前
    @小魔方 我想解决的问题的关键是:我怎么识别当前点击的是生成哪个.add-scd-node-btn
    0 回复
  • MrYao MrYao
    15天前
    0 回复
  • @MrYao
    在点击事件里 $(this).index() 可以获取自己的编号
    0 回复
  • 你这属于严重的 xy 问题
    0 回复
  • MrYao MrYao
    15天前
    @小魔方 xy是什么意思? 我是智商不够用了么? 换个思路解决下吧
    0 回复
  • @小魔方 百度 xy 问题,xy 问题指的是你提问题的姿势不对
    0 回复
近期热议
layer.open中content属性值应该怎么写??? 15
即日起,【案例】必须符合以下要求 14
表情问题。。。 12
《悬赏飞吻:20》!请教各位,我想给我自定义的按钮添加同样的效果,怎么弄呢? 11
请勿将 layui 2.0 的新增组件提前挖出来公开分享 9
LayUI的下拉列表显示 8
layui之select赋值,渲染问题。求高手指点,帮忙看看! 7
求layer.js未加密版 7
这个jeui是什么鬼 6
layim聊天记录调取不出来 6