官網地址:http://www.bacubacu.com/colresizable/ 這裡值得註意的是,如果是動態加入的列,則需要先清理調用插件生成的class,id和div之後再重新調用才會有作用。 至於為何動態載入的列沒有效果呢。首先,我想到了可能是方法載入在了動態生成列之前,所以我便手動在生成 ...
官網地址:http://www.bacubacu.com/colresizable/
這裡值得註意的是,如果是動態加入的列,則需要先清理調用插件生成的class,id和div之後再重新調用才會有作用。
至於為何動態載入的列沒有效果呢。首先,我想到了可能是方法載入在了動態生成列之前,所以我便手動在生成好的html上面手動調用如下圖:
這也是一個小技巧,谷歌瀏覽器這裡可以手動執行JS代碼,回車之後,發現有效果。然而又一次動態載入之後,再次調用此方法就不再成功了。所以我就想是不是調用方法後加了什麼東西,如果去掉之後再調用是不是就可以了。於是便去看了一下 $("table").colResizable();方法到底做了什麼
下麵我們來看看插件的 $("table").colResizable();方法到底做了什麼?
如圖,我們可以看到當調用$("table").colResizable()方法之後,html頁面會添加上上圖框出的部分。當我把多出來的部分刪除之後再調用方法,發現可以,於是便得到了下麵的解決辦法:
function colResizable(){
$(".JCLRgrips").remove();
$(".JColResizer").removeClass("JColResizer");
$("table[id^='JColResizer']").removeAttr("id");
$("table").colResizable();
}
動態載入之後執行上面的方法,便可以解決這個問題了。
另外再提一點:上面只針對所有的table都可左右拉動,如果你需要指定某一個table的話 在table標簽上面加一個name,然後調用時用$("[name='']").colResizable();也是可以的