仅在Internet Explorer中,外部JS中未定义的功能,但是Chrome和Edge可以正常工作

时间:2018-09-25 20:22:05

标签: javascript internet-explorer svg explorer

我正在尝试从SVG元素的“ onmousedown”属性上的外部javascript文件调用函数,该函数在Edge,Chrome和Firefox中正常运行,尽管Internet Explorer报告该函数未定义。

我已经尝试了一些方法,例如将方法包装在$ {document).ready中的jquery中,在调用该函数之前设置5秒钟的超时时间,但是这里似乎没有任何作用。这是Internet Explorer中SVG元素的限制,还是我缺少了什么?我的基本代码如下:

<script src="~/Scripts/myexternalscript.js"></script>

<script>
function MyFunction(evt) {
MyExternalFunction(evt); //Defined in the myexternalscript.js
}
</script>

<div>
    <svg onmousedown="MyExternalFunction(event)" id="SvgjsSvg1001" width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs"></svg>
</div>

我的内部功能如下:

function MyInternalFunction(evt){
...
}

但是我已经尝试了其他形式,例如:

MyInternalFunction = function(evt){
...
}

谢谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

我终于在IE调试器中找到了问题,似乎外部文件(在另一个函数中)存在语法错误,这就是IE说我的调用函数未定义的原因。因此,这可以被视为已解决,尽管我并不十分了解为什么另一个函数中的语法错误会导致IE中出现这种情况。就在我以为我从永远的Internet Explorer中看到了这一切时...

仍然感谢您的答复!