gpt4 book ai didi

javascript - CoffeeScript 在点击时不起作用

转载 作者:行者123 更新时间:2023-11-30 07:24:50 24 4
gpt4 key购买 nike

CoffeeScript 代码:

 department = ->
console.log 1

编译成js代码:

// Generated by CoffeeScript 1.6.3
(function() {
var department;

department = function() {
return console.log(1);
};

}).call(this);

我有一个按钮:

<button onclick = "department()" >add department</button>

但是当我点击它时它会抛出一个错误:

Uncaught ReferenceError: department is not defined

那我该怎么办呢?

最佳答案

那是因为你的函数department不在全局范围内,而是在您编写为 IIFE 的匿名函数的闭包中。

<button onclick = "department()" >add department</button>单击时将查找函数 department()在全局范围内,你没有它。

当您将处理程序编写为内联 html 属性时,就会发生这种情况。您可以使用 javascript 绑定(bind)事件,将函数作为闭包中的引用。

你可以这样做:

例子:-

 <button id="dept"  >add department</button>

(function() {
var department;

department = function() {
return console.log(1);
};

window.onload = function(){
document.getElementById('dept').onclick = department;
}

}).call(this);

关于javascript - CoffeeScript 在点击时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20792323/

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