幾個月前在一個項目中涉及到樹形欄,然後看了很多插件,覺得有點麻煩,於是自己寫了一個,寫著寫著就出問題了。
當時項目是通過樹形欄進行權限控制的,管理員可以對從數據庫去的數據動態生成樹形欄進行增刪改查操作,可是用$(".XX").click();方法是不行的。
1、之前用的是jq1.4.3 ,jq1.7一下都可以使用live()方法,來實現該功能
. 代碼如下:
$(‘#div').live(‘click',function(){
//do stuff
});
但是live方法也有不支持的事件,例如:toggle事件 ,遇到這個情況可以給他加個click事件,之後再來個模擬點擊trigger事件就ok了
. 代碼如下:
$('a').live('click',function(){
$(this).toggle(function(){
alert("q11");
//
alert($(this).attr("id"));
$(this).parent().children('ul').show();
},function(){
$(this).parent().children('ul').hide();
});
$(this).trigger('click');
/**
之前綁定的click事件,只有點擊了才會觸發toggle事件,所以就給他加上模擬點擊事件,不需要點擊直接出發
**/
});
2、jq1.7以上的就用on方法了,第一個屬性為事件,第二個是 選擇器,第三個是 執行的方法
. 代碼如下:
$(document).on("click","#d1",function(){
alert("bbbbb");
});