jQuery 插入元素时绑定事件 或 已加载的html绑定事件

来源:互联网 发布:金蝶k3数据交换平台 编辑:程序博客网 时间:2024/05/24 06:04

//已加载好的

$("user-news").click(function(){    alert("");});
<div class="user-center pull-right">    <img class="member-drop-down cursor-hand" src="../app/images/main/member-drop-down.png" alt=""/>    <img class="user-head user-news" src="../app/images/SMS/logo.png" alt=""/>    <span class="">cutemiex:星星</span></div>
$('.switchMainModule').click(function(event){    alert("fafa");

});

//动态插入的元素

$_li = $("#left-navigation").empty();for (var num = 1; num <= navigation.length; num++) {    var attrs = navigation[num - 1].text;    var childs = navigation[num - 1].child;    var $l_num = $("<h5 class='switchMainModule'></h5>").text(attrs);    var $u_num = $("<ul class='sub-modules list-unstyled'></ul>");
}
//但是发现没有做用 click只绑定已加载好的元素 对动态加载的无效 之前版本可以用live()实现
$('.switchMainModule').live('click',function(event){    alert("fafa");

});

//我用的jQuery 1.11.3中没发现live()方法 后来才发现live()用on() 代替了

//jQuery不能直接使用on绑定动态生成的元素,而是选择非动态生成的父类元素节点 然后再找到本身才能达到效果

$_li.on('click','.switchChildModule',function(event){    $('li').removeClass('test-color');    $(this).addClass('test-color');});
//第一个参数是触发的方式 第二个参数是找到要谁执行






0 0
原创粉丝点击