Я использую IronRouter для структурирования своего приложения в контроллерах (маршрутизаторах), на которых я начал прикреплять свои события. Все идет нормально.Прослушать события за пределами шаблона, но только при наличии шаблона
Затем я начал использовать функцию {{#contentFor ...}}
, и с тех пор мои события больше не срабатывают, потому что область, которую я представляю соответствующим элементом, является частью другого дерева DOM.
Есть ли какой-либо подход, чтобы все еще слушать эти события? Я рассмотрел просто добавление глобального прослушивателя, но это устранило бы большую гибкость от событий.
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>