2012-02-23 79 views
0

我正在使用以下jQuery(https://github.com/blueimp/jQuery-File-Upload)腳本來上傳文件。此腳本附帶此Javascript模板(https://github.com/blueimp/JavaScript-Templates)。
我在我的HTML如下:jQuery Javascript模板處理

<script id="template-download" type="text/html"> 
{% for (var i=0, files=o.files, l=files.length, file=files[0]; i<l; file=files[++i]) { %} 
<tr class="template-download fade"> 
    {% if (file.error) { %} 
     <td></td> 
     <td class="name">{%=file.name%}</td> 
     <td class="size">{%=o.formatFileSize(file.size)%}</td> 
     <td class="error" colspan="2"><span class="label important">Error</span> {%=fileUploadErrors[file.error] || file.error%}</td> 
    {% } else { %} 
     <td class="name"> 
      <a href="{%=file.url%}" title="{%=file.name%}" target="_blank">{%=file.name%}</a> 
     </td> 
    {% } %} 
    <td class="crop"> 
     <a class="btn btn-primary" id="tool-page-crop" href="#">Crop</a> 
    </td> 
    <td class="delete"> 
     <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">Delete</button> 
    </td> 
</tr> 
{% } %} 
</script> 

我想要做的,是從一個jQuery插件,我寫訪問這個模板中「A#工具頁作物」(這樣另一個JS文件),不知怎的,我不能做到這一點。
任何想法,我應該如何看待這個?

乾杯!

回答

0

沒有看到試圖訪問a#tool-page-crop的實際代碼以及將其插入到DOM中的代碼,這是任何人的猜測。

在這種情況下,我通常的嫌疑人是一種競爭條件,您的腳本尚未將模板代碼插入到DOM中,而您嘗試訪問未定義的元素。

+0

是的,你的猜測是對的。你知道這個解決方法嗎?或者是某個地方的例子......謝謝! – Seb 2012-02-23 11:49:26

+0

這取決於你實際做了什麼,但在大多數情況下,確保只有在將HTML插入到DOM中後才能調用插件。編輯:我* *知道這不是很有幫助,但有了這麼多的信息,我只能提供一個晦澀的答案。 ;) – hayavuk 2012-02-23 11:54:24

+0

嗯......基本上我正在建立的自定義插件與Uploader之一(我在問題中提到的那個)相關。我上傳了一張圖片,在完成之後,將Javascript模板插入到我的HTML中,並且在完成之後,我試圖讓我的自定義插件中的'一個#tool-page-crop'做一些事情。說得通 :) ? – Seb 2012-02-23 12:00:40