如何从 Coffeescript 中的 Template.<template>.events api 调用 .hover
Posted
技术标签:
【中文标题】如何从 Coffeescript 中的 Template.<template>.events api 调用 .hover【英文标题】:How to call .hover from Template.<template>.events api in coffeescript 【发布时间】:2015-03-20 16:16:30 【问题描述】:在coffeescript中使用meteor的Template..events api时,如何注册.hover所需的两个函数?
我正在尝试以下方式:
Template.<template>.events
'hover #elementID': (
(ev) -> console.log 'hello world'
(ev) -> console.log 'bye world'
)
【问题讨论】:
【参考方案1】:Saimeunt 是正确的,但如果您希望它与 .hover() 完全相同,则 jquery 使用 mouseenter 和 mouseleave 代替。所以应该是:
Template.<template>.events
"mouseenter #elementID": (event, template) ->
console.log "mousehover", event
"mouseleave #elementID": (event, template) ->
console.log "mouseout", event
【讨论】:
我想看看是否可以在模板事件中直接调用 .hover ,因为通常可以在没有流星的情况下调用,但考虑到我的所有尝试以及我在这里找到的内容,似乎这是不可能,您必须直接使用 mouseenter 和 mouseleave 事件。无论如何都要为此投票。 唯一接受的事件类型是:click、dblclick、focus、blur、change、mouseenter、mouseleave、mousedown、mouseup、keydown、keypress 和 keyup。所以我们错过了一些,但没有什么是我们无法解决的;) 这对于那些不使用咖啡脚本的人来说也是有用的参考。谢谢尼克。【参考方案2】:正确的语法是这样的:
Template.myTemplate.events
"mouseover #elementID": (event, template) ->
console.log "mousehover", event
"mouseout #elementID": (event, template) ->
console.log "mouseout", event
【讨论】:
以上是关于如何从 Coffeescript 中的 Template.<template>.events api 调用 .hover的主要内容,如果未能解决你的问题,请参考以下文章
Rails - 从 JavaScript 调用 CoffeeScript
如何在 Slim 模板中访问 CoffeeScript 引擎中的实例变量