//已加载好的
$("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'); });//第一个参数是触发的方式 第二个参数是找到要谁执行