繁体   English   中英

使用html事件onclick =“ function()”的未定义方法

[英]Undefined method with coffescript using html event onclick=“function()”

我的html中有这行代码

<a href="#" onclick="editfuntion(2)">

和我的咖啡

editfunction = (id) ->
  console.log id
  return

为什么会返回? 未捕获的ReferenceError:HTMLAnchorElement.onclick中未定义editfunction

Coffeescript会将所有文件包装在立即执行的匿名函数中。 这意味着您定义的所有变量都在本地范围内,除非显式放置在全局名称空间中(在浏览器中,它是window对象,而在NodeJS中,它是global )。


coffeescript.org (谈论在浏览器中使用Coffeescript,但它也适用于使用编译为JS的Coffeescript):

通常会涉及CoffeeScript的警告-内联脚本将在闭包中运行,因此,如果要公开全局变量或函数,请将它们附加到window对象。


尝试将Coffeescript更改为:

window.editfunction = (id) ->
  console.log id

这将在window对象上全局公开该函数,以便可以在onclick处理程序中使用它。

@editfunction = editfunction = (id) ->
    console.log 'Yeheyyy'

这将工作:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM