gpt4 book ai didi

javascript - 监听模板外部的事件,但仅当模板存在时

转载 作者:行者123 更新时间:2023-11-28 00:50:44 25 4
gpt4 key购买 nike

我使用 IronRouter 将我的应用程序构建为 Controller (路由器),并开始在其上附加我的事件。到目前为止一切顺利。

然后我开始使用 {{#contentFor ...}} 功能,从那时起,我的事件不再触发,因为我渲染相关元素的区域是不同的 DOM 树。

有什么方法可以继续监听这些事件吗?我考虑过简单地添加一个全局监听器,但这会消除事件的很大灵 active 。

CoffeeScript:

MyRouter = RouteController.extend(...)
MyRouter.events(
'click .inside': (event) ->
alert("inside") # works
'click .outside': (event) ->
alert("outside") # does not work
)

HTML:

<button type="button" class="inside">
inside
</button>

{{#contentFor 'anotherDomRegion'}}
<button type="button" class="outside">
outside
</button>
{{/contentFor}}

和布局文件:

<h1>event demo</h1>
<div>
{{> yield}}
</div>
<div>
{{> yield 'anotherDomRegion'}}
</div>

最佳答案

我自己也遇到过同样的问题。我能够解决此问题的唯一方法是将 contentFor 设置为模板,以便您可以将事件分配给该模板。

{{> contentFor region="anotherDomRegion" template="anotherDomRegion"}}

然后;

<template name="anotherDomRegion"> ... </template>

和;

Template.anotherDomRegion.events({ ... });

祝你好运!

关于javascript - 监听模板外部的事件,但仅当模板存在时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26816871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com