4
回答
很奇怪的js问题,偶尔报null错误
终于搞明白,存储TCO原来是这样算的>>>   

经常遇到这样的问题:



placeHolder.remove();
placeHolder = null;

在第一个语句执行之前,placeHolder不是null,但是常常在执行第一句事就报”placeHolder is null“错误,而且这种情况只是偶尔出现,这到底是什么回事呢?

我每次的办法只有把placeHolder作为个参数传入到一个函数里才能解决。真令人厌烦


举报
水牛叔叔
发帖于5年前 4回/475阅
共有4个答案 最后回答: 5年前

引用来自“Midnight”的答案

完整点的代码?
placeHolder.remove();
                        placeHolder = null;
                        $(this).css("zIndex",zIndex);
                        $(this).css("position",position);
                        $(this).css({
                            top:"auto",
                            left:"auto"
                        });
                        
                        endIndex = container.children().index($(this));
                        
                        if(opt.update!=null && staIndex!=endIndex && endIndex != -1){
                           opt.update($(this),staIndex,endIndex); 
                        }
                        position = null;
                        dragging = null;  
                        isMoving = false;

引用来自“1inus”的答案

引用来自“Midnight”的答案

完整点的代码?
placeHolder.remove();
                        placeHolder = null;
                        $(this).css("zIndex",zIndex);
                        $(this).css("position",position);
                        $(this).css({
                            top:"auto",
                            left:"auto"
                        });
                        
                        endIndex = container.children().index($(this));
                        
                        if(opt.update!=null && staIndex!=endIndex && endIndex != -1){
                           opt.update($(this),staIndex,endIndex); 
                        }
                        position = null;
                        dragging = null;  
                        isMoving = false;
placeHolder 在哪里进行初始化的?

引用来自“Midnight”的答案

引用来自“1inus”的答案

引用来自“Midnight”的答案

完整点的代码?
placeHolder.remove();
                        placeHolder = null;
                        $(this).css("zIndex",zIndex);
                        $(this).css("position",position);
                        $(this).css({
                            top:"auto",
                            left:"auto"
                        });
                        
                        endIndex = container.children().index($(this));
                        
                        if(opt.update!=null && staIndex!=endIndex && endIndex != -1){
                           opt.update($(this),staIndex,endIndex); 
                        }
                        position = null;
                        dragging = null;  
                        isMoving = false;
placeHolder 在哪里进行初始化的?

非常感谢你的回答。问题找到了(面壁中),我原来我是这样写的:

setTimeout(function(){placeHolder.remove()},100);

placeHolder = null;

所以出错了。麻烦你了。

--- 共有 1 条评论 ---
Midnight:) 5年前 回复
顶部