webuploader放入bootstap的tab-content時,不能正確初始化
現象:
如果在BootStrap的tab組件中,加入webuploader,並且不是默認頁,則會出現webuploader點擊無反應的情況,不會彈出“打開文件”對話框。
原因:
webuploader初始化有個條件,就是不能是隱藏的元素,如果隱藏的元素,則不能正確綁定事件。
解決:
可以放入tab的shown.bs.tab事件中,如果是指定的tab頁,則重新初始化一個uploader。
這同時引入了一個限制,就是必須把uploader初始化動作寫為一個函數,否則將導致一個超長的js文件。
- $('a[data-toggle="tab"]').on('shown.bs.tab',function(e){
- var target =e.target.toString(); //$(e.target)[0].hash;
- if( target.indexOf('product_gallary')>0 ){
-
- initUpload();
- }
- })
其他說明:
1、e.target返回的是DOM對象;
2、對於bootstarp的tab,可以簡單地用jquery的hash屬性,這個屬性在jquery的各種手冊中都不有描述,指的是url的#id部分。
----end-----