我正在建立一个使用以下代码的网站:
HTML:
<div onclick="linkPopup()"></div>
<button type="button" id="hidePopup" onclick="hidePopup()">Cancel</button>
使用Javascript:
function linkPopup(questionNumber) {
document.getElementById('linkPopup').style.display = 'block';
document.getElementById('addLink').setAttribute('onclick', 'addLink(' + questionNumber + ')');
}
function hidePopup() {
document.getElementById('linkPopup').style.display = 'none';
document.getElementById('overlay').style.display = 'none';
}
出于某种原因,我在Chrome的开发者工具中收到以下错误:
未捕获的TypeError:hidePopup不是函数
这个问题的路线是什么?我怎样才能防止将来发生这种情况?
答案 0 :(得分:1)
问题是hidePopup()
与void wrap_CreateContext(unsigned long windowId)
{
return CreateContext((void*)&(windowId));
}
冲突,因为它们具有相同的名称。
解决方案是将ID更改为&#39; hidePopup&#39;以外的其他内容。
答案 1 :(得分:0)
id="hidePopup" onclick="hidePopup()"
您的元素ID与函数名称冲突。
为避免这种情况:
addEventListener()
或jQuery&#39; s on()
)将您的事件处理程序绑定到元素,而不是使用内部事件属性。