我们的网站上有upraod功能。并上传文件,显示点击用户可以在新窗口中看到的文件链接。
我们还使用divbox http://jquery.phpbasic.com/divbox
我的代码是:
$("#uploader" + queueId).html("
<div class='cancel'>
<input class='button_cancel' name='removeFile' fileName='"
+fileObj.name.replace("'", "%27")+"' type='button'>
</div>
<a class='lightbox' href='" + self.attr("path")
+ fileObj.name.replace("'", "%27") + "'><span class='fileName'>"
+fileObj.name+"</span></a>");
出于某种原因,当我们点击链接时,它仍会在新窗口中打开并且不会启动灯箱。
在我的页面中,我看到了这一切(正常)
<a class="lightbox" href="uploads/nutshell.png">
<span class="fileName">nutshell.png</span>
</a>
哪个应该点亮灯箱..在我上面发布的js代码中有什么东西尖叫着你?我想知道它的self.attr(“路径”)
这是我们的::::::
在我们拥有的div的js中
$('.lightbox').divbox({caption: false});
在我们拥有的上传者的js中。
$("#uploader" + queueId).html("<div class='cancel'><input class='button_cancel' name='removeFile' fileName='"+fileObj.name.replace("'", "%27")+"' type='button'></div><a class='lightbox' href='" + self.attr("path") + fileObj.name.replace("'", "%27") + "'><span class='fileName'>"+fileObj.name+"</span></a>");
答案 0 :(得分:1)
大概你正在做这样的事情:
$('a.lightbox').divbox({ ... })
在之前 添加有问题的<a>
:
$("#uploader" + queueId).html("...");
$('a.lightbox')
仅适用于调用$('a.lightbox')
时页面上存在的元素,它不会将DivBox绑定到稍后添加到页面的元素。您必须将DivBox绑定到您添加的新<a>
:
$("#uploader" + queueId).html("...");
$('#uploader' + queueId).find('a.lightbox').divbox({ /* and whatever options you need */ });
该技术的粗略演示:http://jsfiddle.net/ambiguous/EswfB/
答案 1 :(得分:1)
要建立mu太短的答案,你可以这样实现:
$("#uploader" + queueId).html("
<div class='cancel'>
<input class='button_cancel' name='removeFile' fileName='"+fileObj.name.replace("'", "%27")+"' type='button'>
</div>
<a class='lightbox' href='" + self.attr("path")
+ fileObj.name.replace("'", "%27") + "'><span class='fileName'>"
+fileObj.name+"</span></a>")
.find('a.lightbox')
.divbox({ /* and whatever options you need */ });
简单地将命令链接成一个。