如果在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-----