繁体   English   中英

javascript错误:匿名函数在IE中的参数无效

[英]javascript error: Invalid argument in IE on anonymous function

我在Internet Explorer(我在IE 8上尝试过)中遇到了一个奇怪的错误,在其他浏览器上一切正常。

与此功能类似的函数的参数无效(我无法发布原始参数,因为它来自最初被混淆和压缩的不可再发行的库):

function createADiv() {
    var f = document.createElement('div');
    f.set = [function (z) { // error on this line
        f.style.width = z
    }, function (z) {
        f.style.height = z
    }];
    return f;
 }

问题在于f的范围,但我不明白为什么在匿名函数中使用f不起作用。

关于如何规避此Internet Explorer错误的任何想法?

我检查了其他“无效的参数错误”,但这似乎是另一种情况。

提前致谢

我认为这是您想要做的:

function createADiv() {
    var f = document.createElement('div');
    f.set = {
        width: function (z) { // error on this line
            f.style.width = z
        }, 
        height: function (z) {
            f.style.height = z
        }
    };
    return f;
 }

现在,当您创建一个div时,您可以执行以下操作:

var newDiv = createADiv();
newDiv.set.height("200px");

但说实话,这是没有用的,因为javascript已经做到了:

newDiv.style.height = "200px";

没有太大的区别

不知道为什么,请尝试这样重写它

function createADiv() {
    var f = document.createElement('div');
    f.set = [function a (z) { // error on this line
        f.style.width = z
    }, function b (z) {
        f.style.height = z
    }];
    return f;
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM