我有一个jquery手风琴,我想在accordion标题中插入uploadify。 把它放在那里工作正常,但是当我将uploadify swf wmode设置为透明时,它不能很好地工作:
-in Chrome点击上传swf没有任何内容
-in Firefox确实打开上传窗口,但也关闭/打开手风琴
- 在Internet Explorer中,它可以正常工作
如果我将wmode设置为窗口它可以正常工作,但我必须使用透明模式。
任何想法?
阿拉德。
编辑: 另一种解决方案是使用javascript调用uploadify swf click?是否可能?
Edit2:代码 -
相关HTML:
<div id="accordion">
<div class="category" id="category$category_id">
<h3 class="ui-accordion-header">
<div class="header-div">
<div id="categoryTitle$category_id" class="categoryTitle">$category_name</div>
</div>
<div class="rightPart">
<input id="fileInput$category_id" class="fileInput" name="fileInput" type="file" />
</div>
</h3>
<div style="overflow: auto; height: 400px; text-align: left; padding: 10px">
(pictures are here...)
</div>
</div>
<div class="category" id="category$categor... (more categories)
</div>
相关的javascript:
var stop = false;
$('#accordion h3').click(function(event) {
if (stop) {
event.stopImmediatePropagation();
event.preventDefault();
stop = false;
}
});
$('#accordion').accordion({
header: "> div > h3",
collapsible: true
}).sortable({
axis: "y",
handle: "h3",
stop: function(event, ui) {
stop = true;
},
update: function(event, ui) {
var categoriesArray = $(event.target).sortable('toArray');
updateCategoriesOrder(categoriesArray);
}
})
$('.fileInput').livequery(function(){
var myID = $(this).attr('id'); // grab id of the clicked fileInput button (e.g. 'fileInput45')
myID = myID.replace('fileInput',''); // strip down to the numeric value
$(this).uploadify({
'uploader' : 'uploader/uploadify.swf',
'script' : 'uploader/uploadify.php',
'cancelImg' : 'uploader/cancel.png',
'multi' : true,
'auto' : true,
'folder' : '/uploads',
'width' : 24,
'height' : 24,
'wmode' : 'transparent',
//'wmode' : 'window',
'fileDesc' : 'Images (*.jpg;*.jpeg;*.jpe;*.png;*.gif;*.bmp)',
'fileExt' : '*.jpg;*.jpeg;*.jpe;*.png;*.gif;*.bmp;',
'queueID' : 'uploadQueue',// + myID,
onComplete : function(event, queueID, fileObj, reposnse, data) {
//alert(myID);
}
});
});
答案 0 :(得分:1)
好的问题解决了。 似乎不是手风琴或wmode的错,这是jquery的可分类。
我的手风琴也是可排序的,当尝试按uploadify swf时,可排序的方法接管了。可以在此主题中找到解决方案: http://www.uploadify.com/forum/viewtopic.php?f=7&t=1556
他所做的是用div包装swf,然后使用sortable的'cancel'选项来阻止div的类被拖动({cancel:“。。uploadSwfDiv”})。
在Firefox中点击swf也会打开/关闭手风琴,所以为了防止我添加了这段代码:
$('.uploadSwfDiv').click(function(event) {
event.stopPropagation();
}
);