Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么可以';我不能在模板化元素上使用jQuery函数吗?_Javascript_Jquery_Template Engine - Fatal编程技术网

Javascript 为什么可以';我不能在模板化元素上使用jQuery函数吗?

Javascript 为什么可以';我不能在模板化元素上使用jQuery函数吗?,javascript,jquery,template-engine,Javascript,Jquery,Template Engine,我正在使用Blueimp的jQuery文件上传插件,该插件使用他的javascript模板引擎。我似乎无法影响使用jQuery函数通过模板呈现的任何元素,但模板之外的任何静态元素在目标时都能正常工作 例如,我试图简单地将一个类添加到悬停的元素中,但无法从中获得任何东西。没有错误,没有功能 $( ".template-download" ).hover( function() { $( ".deleteContainer" ).addClass( "visible" ); }, f

我正在使用Blueimp的jQuery文件上传插件,该插件使用他的javascript模板引擎。我似乎无法影响使用jQuery函数通过模板呈现的任何元素,但模板之外的任何静态元素在目标时都能正常工作

例如,我试图简单地将一个类添加到悬停的元素中,但无法从中获得任何东西。没有错误,没有功能

$( ".template-download" ).hover(
  function() {
    $( ".deleteContainer" ).addClass( "visible" );
  }, function() {
    $( ".deleteContainer" ).removeClass( "visible" );
  }
);
模板代码:

<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}

  <div class="template-download fade">
    <div class="preview">
      {% if (file.thumbnailUrl) { %}
        <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a>
      {% } %}
    </div>

    <div>
      <p class="name">
        {% if (file.url) { %}
          <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
        {% } else { %}
          <span>{%=file.name%}</span>
        {% } %}
      </p>
      {% if (file.error) { %}
        <div><span class="label label-danger">Error</span> {%=file.error%}</div>
      {% } %}
    </div>

    <div>
      <span class="size">{%=o.formatFileSize(file.size)%}</span>
    </div>

    <div class="deleteContainer hidden">
      {% if (file.deleteUrl) { %}
        <input type="checkbox" name="delete" value="1" class="toggle">
        <button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
          <i class="glyphicon glyphicon-trash"></i>
        </button>
      {% } else { %}
        <button class="btn btn-warning cancel">
          <i class="glyphicon glyphicon-ban-circle"></i>
          <span>Cancel</span>
        </button>
      {% } %}
    </div>

  </div>
{% } %}
</script>

{%for(var i=0,file;file=o.files[i];i++){%}
{%if(file.thumbnailUrl){%}
{% } %}

{%if(file.url){%} {%}其他{%} {%=文件名%} {% } %}

{%if(file.error){%} 错误{%=file.Error%} {% } %} {%=o.formatFileSize(file.size)%} {%if(file.deleteUrl){%} {%}其他{%} 取消 {% } %} {% } %}
我完全被难住了。我尝试在文档内部移动jQuery代码,在外部使用
$(document.ready(function(){})包装它,在头部加载jQuery,在文档末尾加载jQuery

编辑-

我希望这是一些简单的东西,我只是不知道如何使用模板。有什么建议吗?

试试这个:

$(function() {
    $(document).on("mouseenter mouseleave", ".template-download", function() {
        $(".deleteContainer").toggleClass("hidden");
    });
});

开发人员工具中的控制台中没有任何内容?在blueimp完成呈现模板并将其添加到dom后,您是否尝试过执行jquery代码?或者使用事件委派。@PatrickEvans我该怎么做?您确定必须添加一个可见的类,而不是切换隐藏的类来更改容器的可见性吗?不确定这个模板引擎是如何工作的,但看起来元素是在DOM就绪后添加的,所以请尝试使用委派事件,例如:
$(document)。on(“mouseenter mouseleave”、“.template download”、function(){$(“.deleteContainer”).toggleClass(“可见”);}
没有骰子。我真的不认为这与jquery代码本身有任何关系。@A.Wolff我不知道这是什么意思。你能解释一下我会怎么做吗?@Mute看起来你看不懂我的任何评论,很有趣(或令人沮丧)确实…;)我已经更新了我的答案,现在是事件授权;)你一定是瞎子;)阅读我在你的问题下的评论,代码粘贴在那里,类似于答案中发布的这个