2012-01-20 117 views
0

我們在我們的網站上有uplaod功能。並上傳文件,顯示點擊用戶可以看到他們在新窗口中上傳的文件的鏈接。將類添加到此href ..不工作?

我們還使用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( 「路徑」)

這裏是我們::::::

在js的divbox

我們

$('.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>"); 

回答

1

大概你正在做這樣的事情:

$('a.lightbox').divbox({ ... }) 

之前,你在問題與添加<a>

$("#uploader" + queueId).html("..."); 

$('a.lightbox')只適用於對存在的元素頁面調用$('a.lightbox')時,它不會將DivBox綁定到添加到頁面lat的元素呃。你必須DivBox綁定到你像這樣添加的新<a>

$("#uploader" + queueId).html("..."); 
$('#uploader' + queueId).find('a.lightbox').divbox({ /* and whatever options you need */ }); 

技術的粗糙演示:http://jsfiddle.net/ambiguous/EswfB/

+0

延誤道歉。必須拍攝出來。在divbox js中我有$('。lightbox')。divbox({caption:false});上傳者js的代碼是:$(「#uploader」+ queueId).html(「

"+fileObj.name+"」); – 422

+0

@ 422:抱歉,關於燈箱和divbox的混淆,應該是你的情況下的「燈箱」(例子使用'divbox',因此我的困惑)。重點是你可能綁定DivBox,然後在DOM中添加新的東西。 –

+0

嗨,是啊我明白了,我只是不知道如何綁定燈箱divbox.js加載後的事件。您的示例看起來很有前途......但不知道如何實現代碼...... – 422

1

要建立過萬畝的太短的回答,您可以實現像這樣:

$("#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 */ }); 

而只是將命令鏈接成一個。

+0

會給那個去凱爾謝謝你 – 422

+0

我沒有得到的是/ *和你需要的任何選項* /有什麼關於? – 422

+0

divbox方法需要參數。對於虛構的例子$('。lightbox')。divbox({width:200,opacity:0.9}) –