现象:
  如果在BootStrap的tab组件中,加入webuploader,并且不是默认页,则会出现webuploader点击无反应的情况,不会弹出“打开文件”对话框。

原因:
  webuploader初始化有个条件,就是不能是隐藏的元素,如果隐藏的元素,则不能正确绑定事件。

解决:
  可以放入tab的shown.bs.tab事件中,如果是指定的tab页,则重新初始化一个uploader。
  这同时引入了一个限制,就是必须把uploader初始化动作写为一个函数,否则将导致一个超长的js文件。

  1. $('a[data-toggle="tab"]').on('shown.bs.tab',function(e){
  2.           var target =e.target.toString(); //$(e.target)[0].hash;

  3.           if( target.indexOf('product_gallary')>0 ){
  4.                  
  5.                   initUpload();
  6.           }
  7.   })

其他说明:
1、e.target返回的是DOM对象;
2、对于bootstarp的tab,可以简单地用jquery的hash属性,这个属性在jquery的各种手册中都不有描述,指的是url的#id部分。






----end-----
08-31 13:41