2012-02-23 76 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