首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >窗口的大小和负载不触发

问窗口的大小和负载不触发
EN

Stack Overflow用户
提问于 2013-08-25 14:16:53
回答 1查看 230关注 0票数 0

溶液

解决方案:

我确实修改了它并添加了警报,以便在页面调整大小/加载时通知我,它们确实调整了大小/加载。它只是没有触发在使用c函数时添加到.callbacks数组中的自定义函数。我决定只使用另一种确实有效的代码。

而不是返回c(.callbacks);我将其更改为:

代码语言:javascript
复制
for(each in win_resize.callbacks) {
    win_resize.callbacks[each]();
    }

这似乎起了作用,而且现在运作得很好。至于jsHint的事..。这似乎有点奇怪,“警报”没有定义,当计算一个变量是否等于一个字符串时,处理.使用==的“字符串”将工作得很好。我从来没有遇到过不符合我预期的问题。

我不需要更多的帮助,它现在可以关闭。感谢所有帮助过的人,或者试图帮助他们的人。

===========================================================

原始问题

Window.onload和Window.onresize没有触发。我不知道这是怎么回事,因为我已经做过很多次了。

如果抛出某种错误,很容易解决,但据我所知,在dev控制台中没有错误。

这是我的密码:

代码语言:javascript
复制
var each, win_resizing, win_loaded = false;
function c(r, a1, a2, a3, a4, a5, a6, a7) {
    if (typeof r == 'object') {
        for(each in r) {
            each[r] = c(each[r], a1, a2, a3, a4, a5, a6, a7);
        }

        return r;
    } else if (typeof r == 'function') {
        return each[r](a1, a2, a3, a4, a5, a6, a7);
    }

    return r;
}

win_load.callbacks = [];
function win_load(call) {
    if (typeof call == 'function') {
        return win_load.callbacks.push(call)-1;
    }

    return c(win_load.callbacks);
}

win_resize.callbacks = [];
function win_resize(call) {
    if (typeof call == 'function') {
        return win_resize.callbacks.push(call)-1;
    }

    return c(win_resize.callbacks);
}

win_load(function() {
    alert("Loaded?");
});

win_resize(function() {
    alert("Resized?");
});

window.onresize = function() {
    if (!win_resizing) {
        win_resizing = setTimeout(function() {
            delete win_resizing;
        }, 50);

        win_resize();
    }
};

window.onload = function() {
    if (win_loaded!==true) {
        win_loaded = true;
        win_load();
        window.onresize();
    }
};

我复制了我所做的代码,并将其放入一个jsFiddle中。

EN

回答 1

Stack Overflow用户

发布于 2013-08-25 14:31:21

作为起点,我将您的代码放入JSHint中,并列出了以下错误列表:

第3行: if (类型为r == 'object') { 缺少“使用严格”语句。 第3行: if (类型为r == 'object') { 期望'===‘,而不是看到’=‘。 第4行:for(以r为单位){ 创建全局“for”变量。应该是“for (var each .)”。 第4行:for(以r为单位){ for in的主体应该包装在if语句中,以筛选原型中不需要的属性。 第9行:} else if (类型为r == 'function') { 期望'===‘,而不是看到’=‘。 第18行: if (类型调用== 'function') { 缺少“使用严格”语句。 第18行: if (类型调用== 'function') { 期望'===‘,而不是看到’=‘。 第27行: if (类型调用== 'function') { 缺少“使用严格”语句。 第27行: if (类型调用== 'function') { 期望'===‘,而不是看到’=‘。 第35行:警报(“已加载?”); 缺少“使用严格”语句。 第39行:警报(“调整大小?”); 缺少“使用严格”语句。 第43行: if (!win_resizing) { 缺少“使用严格”语句。 第45行:删除win_resizing; 不应删除变量。 第53行: if (win_loaded!==true) { 缺少“使用严格”语句。 第35行:警报(“已加载?”); 未定义“警报”。 第39行:警报(“调整大小?”); 未定义“警报”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18429930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档