Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在Internet Explorer 8中不起作用_Javascript_Internet Explorer 8 - Fatal编程技术网

Javascript在Internet Explorer 8中不起作用

Javascript在Internet Explorer 8中不起作用,javascript,internet-explorer-8,Javascript,Internet Explorer 8,我有一个javascript请求用户确认他们想离开我的网站。这就是它的样子: function confirmLeave() { if(confirm("Do you want to leave my webpage?")) { return true; } else { if(window.event) { window.event.returnValue = false; } else { e.pre

我有一个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;

external link
是我用于离开我的网页的链接的类。

如果这是一个可行的选择,请考虑包括jQuery库。 然后你可以这样写:

$('.external-link').click(function() { confirmLeave() });

这里的问题是
document.getElementsByTagName()
将元素作为输入,例如
div
span
a
<代码>外部链接不是元素,因此它永远不会返回任何内容

对于IE8,您可以使用
document.querySelectorAll(“.external link”)
。它采用CSS选择器作为输入


如果您也需要支持较旧的浏览器,可以尝试使用polyfill,使
GetElementsByCassName
在本机不支持它的浏览器上工作。

尝试使用
document.querySelectorAll(“外部链接”)


我不想使用任何图书馆来代替文档。getElementsByClass?是的。尽管它使用CSS选择器作为输入,所以
getElementsByClassName(“外部链接”)
变成
querySelectorAll(“.external link”)
@Benji,是的。根据MSDN
W3C选择器API提供了两种使用选择器选择对象的方法:querySelector,它选择符合条件的第一个对象;和querySelectorAll,它返回符合条件的所有对象。您可以选择文档对象或从公共容器对象派生的对象。
function=initiate此行似乎不正确。可能是这样的:
var initiate=function()…
Ah,只是一个输入错误。现在修好了
$('.external-link').click(function() { confirmLeave() });