wuruize888
2017-06-06 01:05
采纳率: 88.2%
浏览 1.5k

JQUERY,动态加载问题,谢谢

 当选择select时,底下动态已经加载好的部分如何添加事件呢?
    $("#dataname").on("change","#tableSc",function(){ 貌似不对
        alert("asdasdasdasd");
    });
//动态加载的部分
 <select id='dataname' name='dataname' class='form-control populate'><option></option><option value='123'>123</option><option value='11'>11</option><option value='22'>22</option></select><span></span>
 //静态部分
       <div class='form-group' id='tableSc' name='tableSc'>
        <label class='col-md-3 control-label' for='inputHelpText'>数据表权限</label>
        <div class='col-md-6' style='margin-bottom:15px;'>...
        </div>
        </div>



  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 已采纳

    你还是没搞清楚on怎么用
    $('选择器')里面的选择器的对象一定要存在的,on主要针对这个选择器下的内容动态加载时,要给子对象添加事件用的,通过第二个参数指定要触发的对象,冒泡到选择器后判断是否匹配,匹配执行on绑定的事件

    
    <div id="abc"></div>
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.7.1/jquery.min.js"></script>
    <script>
        $('#abc b').click(function () { alert('直接绑定abc下b的click事件,由于abc下没有b,这里不会触发') })
        $('#abc').on('click', 'b', function () { alert('通过on给b绑定事件,abc内容下更新过出现b时,点击b就会触发这个事件') })
    
        setTimeout(function () { $('#abc').html('<b>aaa</b><div>aaa</div>');}, 2000);//2s设置abc的内容
    </script>
    
    打赏 评论
  • 一点寒芒先至 2017-06-06 01:19

    貌似有个.bind方法给元素添加事件jQuery 事件 - bind() 方法

    打赏 评论
  • Martin_Yelvin 2017-06-07 08:30

    用on绑定,或者父元素绑定

    打赏 评论
  • cndx007 2017-06-15 07:58

    动态的dom绑定事件用delegate

    打赏 评论
  • jaramyZXG 2017-06-20 04:47

    bind()方法
    $("button").bind("click",function(){
    $("p").slideToggle();
    });

    打赏 评论

相关推荐 更多相似问题