JQUERY低版本无法预加载不存在的SELECTOR,使用live()解决:
live事件描述:为元素添加事件,无论元素对应的选择器已加载或者在后面加载
使用方法:
$( “a.offsite” ).live( “click”, function() {
alert( “Goodbye!” ); // jQuery 1.3+
});
$( document ).delegate( “a.offsite”, “click”, function() {
alert( “Goodbye!” ); // jQuery 1.4.3+
});
$( document ).on( “click”, “a.offsite”, function() {
alert( “Goodbye!” ); // jQuery 1.7+
});
项目中用到的,如例:
id为show6的元素在timetable加载完后在点击才能产生
$(‘#timetable’).live(‘click’, function(e){
if (‘show6’ === e.target.id) {
$(window.parent.document).find(“.showmenu>li”).find(‘p’).removeClass(“bks_bg”);
$(window.parent.document).find(“.showmenu>li”).eq(1).find(‘p’).addClass(“bks_bg”);
}
});