复选框 onchange 抛出错误

Checkbox onchange throws error

我在我的图表框内放置了一个复选框 div。 checkbox显示的很好,但是现在我想在checkbox改变后做一些动作

<input type="checkbox" id="dbox1" onchange="calc();" checkeddata-dojo-type="dijit/form/CheckBox">
function calc() {
    alert("123");
}

单击复选框后出现此错误:

Uncaught ReferenceError: calc is not defined

所以我测试了这个:

<input type="checkbox" id="dbox1" onchange="alert("123");" checkeddata-dojo-type="dijit/form/CheckBox"/>

使用此代码会出现以下错误:

SyntaxError: Unexpected token }

图表框:

new window.EvmClasses.chartBox(_domnodeId, _portletId, {
    "htmlContent": '<input type="checkbox" id="dbox1" onchange="calc();" checkeddata-dojo-type="dijit/form/CheckBox">' +  " Minuten bis zur automatischen Aktualisierung",
    "left" : 100,
    "top" : 0,
    "width" : 410,
    "z-index" : 9,
    "height" : 25,
    "bgColorFrom" : "#ffffff",
    "bgColorTo" : "#ffffff",
    "color" : "#000000"
});

代替双引号进入alert

<input type="checkbox" id="dbox1" onchange="alert("123");" checkeddata-dojo-type="dijit/form/CheckBox"/>

将其替换为单引号,如下所示。

<input type="checkbox" id="dbox1" onchange="alert('123');" checkeddata-dojo-type="dijit/form/CheckBox"/>

尝试在 window 范围内定义 calc 函数:

window.calc = function () {
   alert('123')
}

参见:https://jsfiddle.net/t1fo8s50/3/