剑道模板在元素中单击不起作用

Kendo Template onClick in element does not work

本文关键字:单击 不起作用 元素      更新时间:2023-09-26
<script type="text/x-kendo-template" id="logotemplate">
    <div >
        <h3>#: name#</h3>
         # for (var i=0; i< options.length;i++) { #
             <img src="#= options[i].url #" class="item-photologos" onclick="clickedImage(name,i)"   />
         # } #
    </div>
</script>

我有一个自定义的剑道移动列表视图模板。图像按预期显示,但 onclick 不会触发,日志中未看到任何错误。 我已经围绕onclick方法尝试了#:#,##,#= #等的许多不同组合,但不起作用(在某些情况下,我看到诸如"未定义i"之类的错误消息(。 帮助将不胜感激。

我想你想要这样的东西

<script type="text/x-kendo-template" id="logotemplate">
<div >
    <h3>Blah</h3>
    # for (var i=0; i< options.length;i++) { #
    <img src="#= options[i].url#" class="item-photologos" onclick="clickedImage('#: options[i].name #' , #:i #)"   />
    # } #
</div>

其中传入clickedImage中的参数,而不是硬编码的字符串。

这将呈现以下内容:

   <div>
    <h3>Blah</h3>
    <img src="foo.jpg" class="item-photologos" onclick="clickedImage('Jane Doe' , 0)"   />
    <img src="bar.jpg" class="item-photologos" onclick="clickedImage('John Doe' , 1)"   />
  </div>

而不是

<div >
    <h3>Blah</h3>
    <img src="foo.jpg" class="item-photologos" onclick="clickedImage(name,i)"   />
    <img src="bar.jpg" class="item-photologos" onclick="clickedImage(name,i)"   />
</div>

JsFiddle here(英语:JsFiddle here

您可以在每个图像上使用 JQuery On 方法来添加点击事件侦听器。

$(".item-photologos").on("click", function(e) {
  console.log(e);
});