【发布时间】:2013-01-30 18:35:52
【问题描述】:
我有一个 javascript 要求用户确认他们想离开我的网站。看起来是这样的:
function confirmLeave()
{
if(confirm("Do you want to leave my webpage?")) {
return true;
} else {
if(window.event) {
window.event.returnValue = false;
} else {
e.preventDefault();
}
return false;
}
}
function initiate ()
{
var links = document.getElementsByClassName("external-link");
for (var i = 0; i < links.length; i++) {
links[i].onclick = confirmLeave;
}
}
window.onload = initiate;
它在 Firefox 和 Chrome 中运行良好,但在 IE8 中则不行。我知道document.getElementsByClassName 不起作用,我尝试使用document.getElementsbyTakeName 重新制作我的代码,但没有让它起作用。这是我想出的:
function confirmLeave()
{
if(confirm("Do you want to leave my webpage?")) {
return true;
} else {
if(window.event) {
window.event.returnValue = false;
} else {
e.preventDefault();
}
return false;
}
}
funciton initiate ()
{
if(document.getElementsByClassName)
{
var links = document.getElementsByClassName("external-link");
for (var i = 0; i < links.length; i++) {
links[i].onclick = confirmLeave;
}
} else {
var links = document.getElementsByTagName("external-link");
for (var i = 0; i < links.length; i++) {
links[i].onclick = confirmLeave;
}
}
}
window.onload = initiate;
external-link 是我用于离开网页的链接的类。
【问题讨论】:
-
funciton = initiate;这行似乎不正确。可能是:var initiate = function() ... -
啊,只是一个错字。现在修复它
标签: javascript internet-explorer-8