事件处理程序无法访问JavaScript中的对象方法
如何从静态html事件处理程序访问util.log()方法 换句话说,当我单击复选框时,我喜欢调用util.log方法事件处理程序无法访问JavaScript中的对象方法,javascript,events,object,methods,Javascript,Events,Object,Methods,如何从静态html事件处理程序访问util.log()方法 换句话说,当我单击复选框时,我喜欢调用util.log方法 onclick=“util.log(\'hey\')”试试以下javascript: var util = { log : function(msg){ alert(msg); }; }; 您的util对象不在全局范围内;它隐藏在实用程序对象中。单击处理程序将在全局对象的范围内运行,这就是为什么它根本看不到util 如果无法更改HTML字符串的创建方式,则需要在实用程
onclick=“util.log(\'hey\')”试试以下javascript:
var util = {
log : function(msg){
alert(msg);
};
};
您的
util
对象不在全局范围内;它隐藏在实用程序
对象中。单击处理程序将在全局对象的范围内运行,这就是为什么它根本看不到util
如果无法更改HTML字符串的创建方式,则需要在实用程序
函数之外声明util
,换句话说,只需在页面中声明以下内容:
var util = {};
util.log = function(msg){
alert(msg);
};
var p = document.createElement('p');
p.innerHTML = '<input type="checkbox" onclick="util.log(\'hey\')" value="1">Check me'; // this part is a legacy code and I have no control over to rewrite it as HTMLObjectElement way
var util={};
util.log=函数(msg){
警报(msg);
};
var p=document.createElement('p');
p、 innerHTML='检查我';//这部分是一段遗留代码,我无法控制以HTMLObjectElement的方式重写它
您是否希望在单击复选框时显示一条提示“嘿”?是的,但最终如何从硬编码事件调用对象方法?
var util = {};
util.log = function(msg){
alert(msg);
};
var p = document.createElement('p');
p.innerHTML = '<input type="checkbox" onclick="util.log(\'hey\')" value="1">Check me'; // this part is a legacy code and I have no control over to rewrite it as HTMLObjectElement way