我们的网站上有升级功能。和上传的文件,显示链接,单击用户可以在新窗口中看到他们已上传的文件。
我们还使用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(“ path”)
这是我们拥有的:::::::
在divbox的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>");
最佳答案
大概您正在执行以下操作:
$('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/