InnerHTML onclick无法识别功能
问题描述:
我有一个JavaScript文件,我在其中添加了innerHTML来更改div,并且onclick告诉我该函数未定义。在我的情况下,函数test()不被识别。有什么建议么? 下面是代码:InnerHTML onclick无法识别功能
this.initialize = function(){
var startInput =(document.getElementById('startInput'));
var div = document.createElement('div');
div.innerHTML = '<img id="cur_location_img" style="position:absolute;z-index: 1; margin-top: 7px; left:330px; top:20px;"'+
' src="../images/location.png" onclick="test()"/>';
startInput.appendChild(div)
}
function test(){
console.log("IN TEST");
}
答
请使用windows.funcname
运行。
function initialize() {
var startInput =(document.getElementById('startInput'));
var div = document.createElement('div');
div.innerHTML = '<img id="cur_location_img" style="position:absolute;z-index: 1; margin-top: 7px; left:330px; top:20px;"'+
' src="../images/location.png" onclick="window.ttt()"/>';
startInput.appendChild(div)
}
window.ttt = function() {
alert('done');
}
initialize();
究竟有什么啊'this'在该代码,它应该是'window' – adeneo 2014-12-01 18:26:28
为了quicly测试,你可以做'window.test =函数(){...'它可能会工作,告诉你,你的功能超出了全球范围 – adeneo 2014-12-01 18:27:57
非常感谢,有一个范围问题,它与window.test = function(){...} – user3603634 2014-12-01 18:35:39