/// 载入页面所有事件
//当属性rel值为"rel"时为mouseover事件,其它为click事件
//兼容firefox
try
{
    HTMLElement.prototype.__defineGetter__("children",
    function () {
    var returnValue = new Object();
    var number = 0;
    for (var i=0; i<this.childNodes.length; i++) {
    if (this.childNodes[i].nodeType == 1) {
    returnValue[number] = this.childNodes[i];
    number++;
    }
    }
    returnValue.length = number;
    return returnValue;
    }
    );
}
catch(e){}
function getEvent(){     //同时兼容ie和ff的写法
        // if(document.all) 
         if(navigator.appName == "Microsoft Internet Explorer")         {
           return window.event;
         }
         
         else{ // this  is by e8sp.com
 
             func=getEvent.caller;            
             while(func!=null){    
                 var arg0=func.arguments[0];
                 if(arg0){
                     if((arg0.constructor==Event || arg0.constructor ==MouseEvent)
                         || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){    
                         return arg0;
                     }
                 }
                 func=func.caller;
             }
             return null;
             
         }
 }var value=[];
function getrunelement(obj)
{
    try
    {
        if(obj.children.length>0)
        {
            for(var i=0;i<obj.children.length;i++)
            {
                var o=obj.children[i];
                
                if(o.getAttribute("rel")!=null&&o.getAttribute("rel")!="")
                {
                    value[value.length]=o;
                }
                getrunelement(o);
            }
         }
    }
    catch(e){}
}
function RunEventFunction()
{
    {
        var event=arguments[0]||window.event;
        var obj=event.srcElement||event.target;
        if(obj.getAttribute("rev")!=null&&obj.getAttribute("rev")!="")
        {
            try
            {
                eval(OperatorObject+"."+obj.getAttribute("rev")+"()"); 
            }
            catch(e)
            {
                try
                {
                    eval(obj.getAttribute("rev"))();
                }
                catch (e)
                {
                }
            }
        }
        else
        {
            runAjax(obj.getAttribute("rel"));
        }
    }
}
//加载所有事件
function LoadAllEvent()
{
    var elements=getRunElement();
    var obj=null;
    for(var i=0;i<elements.length;i++)
    {
        obj=elements[i];
        if(obj.tagName!="LINK")
        {
             if(obj.getAttribute("rel")!="rel")
             {
                if (window.attachEvent)
                {
                    obj.attachEvent("onclick",RunEventFunction); 
                }
                if (window.addEventListener)
                {
                    obj.addEventListener("click",RunEventFunction,false);
                } 
             }
             else
             {
                if (window.attachEvent)
                {
                    obj.attachEvent("onmouseover",RunEventFunction); 
                }
                if (window.addEventListener)
                {
                    obj.addEventListener("mouseover",RunEventFunction,false);
                } 
             }
        }
    }
}
//去除所有事件
function DeleteAllEvent()
{
    var elements=getRunElement();
    var obj=null;
    for(var i=0;i<elements.length;i++)
    {
        obj=elements[i];
        if(obj.tagName!="LINK")
        {
             if(obj.getAttribute("rel")!="rel")
             {
                if (window.attachEvent)
                {
                    obj.detachEvent("onclick",RunEventFunction); 
                }
                if (window.addEventListener)
                {
                    obj.removeEventListener("click",RunEventFunction,false);
                } 
             }
             else
             {
                if (window.attachEvent)
                {
                    obj.detachEvent("onmouseover",RunEventFunction); 
                }
                if (window.addEventListener)
                {
                    obj.removeEventListener("mouseover",RunEventFunction,false);
                } 
             }
        }
    } 
}
//取得页面所有有事件的对象
function getRunElement()
{
    value=[];
    getrunelement(document.getElementsByTagName("body")[0]);
    return value;
}
//运行ajax
function runAjax(url)
{
    var  options={
        method:'get',
        parameters:"",
        onComplete:
            function(transport)
            {
                var returnvalue=transport.responseText;
                eval(returnvalue);
            } 
    }
    new Ajax.Request(url,options);
}var eventLoaded=false;if(!eventLoaded)
{
    if (window.attachEvent)
    {
        window.attachEvent("onload",LoadAllEvent); 
    }
    if (window.addEventListener)
    {
        window.addEventListener("load",LoadAllEvent,false);
    } 
    eventLoaded=true;
}EventLoad={};
//重新加载事件
EventLoad.Reload=function()
{
    DeleteAllEvent();
    LoadAllEvent();
}
为什么 在IE 下提示 没有定义 LoadAllEvent 没有定义 LoadAllEvent 该如何改正 在线等JS 高手

解决方案 »

  1.   

    /// 载入页面所有事件
    //当属性rel值为"rel"时为mouseover事件,其它为click事件
    //兼容firefox
    try
    {
        HTMLElement.prototype.__defineGetter__("children",
        function () {
        var returnValue = new Object();
        var number = 0;
        for (var i=0; i<this.childNodes.length; i++) {
        if (this.childNodes[i].nodeType == 1) {
        returnValue[number] = this.childNodes[i];
        number++;
        }
        }
        returnValue.length = number;
        return returnValue;
        }
        );
    }
    catch(e){}
    function getEvent(){     //同时兼容ie和ff的写法
            // if(document.all) 
             if(navigator.appName == "Microsoft Internet Explorer")         {
               return window.event;
             }
             
             else{ // this  is by e8sp.com
     
                 func=getEvent.caller;            
                 while(func!=null){    
                     var arg0=func.arguments[0];
                     if(arg0){
                         if((arg0.constructor==Event || arg0.constructor ==MouseEvent)
                             || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){    
                             return arg0;
                         }
                     }
                     func=func.caller;
                 }
                 return null;
                 
             }
     }var value=[];
    function getrunelement(obj)
    {
        try
        {
            if(obj.children.length>0)
            {
                for(var i=0;i<obj.children.length;i++)
                {
                    var o=obj.children[i];
                    
                    if(o.getAttribute("rel")!=null&&o.getAttribute("rel")!="")
                    {
                        value[value.length]=o;
                    }
                    getrunelement(o);
                }
             }
        }
        catch(e){}
    }
    function RunEventFunction()
    {
        {
            var event=arguments[0]||window.event;
            var obj=event.srcElement||event.target;
            if(obj.getAttribute("rev")!=null&&obj.getAttribute("rev")!="")
            {
                try
                {
                    eval(OperatorObject+"."+obj.getAttribute("rev")+"()"); 
                }
                catch(e)
                {
                    try
                    {
                        eval(obj.getAttribute("rev"))();
                    }
                    catch (e)
                    {
                    }
                }
            }
            else
            {
                runAjax(obj.getAttribute("rel"));
            }
        }
    }
    //加载所有事件
    //break bug
    function LoadAllEvent()
    {
        var elements=getRunElement();
        var obj=null;
        for(var i=0;i<elements.length;i++)
        {
            obj=elements[i];
            if(obj.tagName!="LINK")
            {
                 if(obj.getAttribute("rel")!="rel")
                 {
                    if (window.attachEvent)
                    {
                        obj.attachEvent("onclick",RunEventFunction); 
                    }
                    if (window.addEventListener)
                    {
                        obj.addEventListener("click",RunEventFunction,false);
                    } 
                 }
                 else
                 {
                    if (window.attachEvent)
                    {
                        obj.attachEvent("onmouseover",RunEventFunction); 
                    }
                    if (window.addEventListener)
                    {
                        obj.addEventListener("mouseover",RunEventFunction,false);
                    } 
                 }
            }
        }
    }
    //去除所有事件
    //break bug
    function DeleteAllEvent()
    {
        var elements=getRunElement();
        var obj=null;
        for(var i=0;i<elements.length;i++)
        {
            obj=elements[i];
            if(obj.tagName!="LINK")
            {
                 if(obj.getAttribute("rel")!="rel")
                 {
                    if (window.attachEvent)
                    {
                        obj.detachEvent("onclick",RunEventFunction); 
                    }
                    if (window.addEventListener)
                    {
                        obj.removeEventListener("click",RunEventFunction,false);
                    } 
                 }
                 else
                 {
                    if (window.attachEvent)
                    {
                        obj.detachEvent("onmouseover",RunEventFunction); 
                    }
                    if (window.addEventListener)
                    {
                        obj.removeEventListener("mouseover",RunEventFunction,false);
                    } 
                 }
            }
        } 
    }
    //取得页面所有有事件的对象
    function getRunElement()
    {
        value=[];
        getrunelement(document.getElementsByTagName("body")[0]);
        return value;
    }
    //运行ajax
    function runAjax(url)
    {
        var  options={
            method:'get',
            parameters:"",
            onComplete:
                function(transport)
                {
                    var returnvalue=transport.responseText;
                    eval(returnvalue);
                } 
        }
        new Ajax.Request(url,options);
    }var eventLoaded=false;if(!eventLoaded)
    {
        if (window.attachEvent)
        {
            window.attachEvent("onload",LoadAllEvent); 
        }
        if (window.addEventListener)
        {
            window.addEventListener("load",LoadAllEvent,false);
        } 
        eventLoaded=true;
    }EventLoad={};
    //重新加载事件
    EventLoad.Reload=function()
    {
        DeleteAllEvent();
        LoadAllEvent();
    }
      

  2.   

    注释的BUG..."件"字延长了注释段...
      

  3.   

    我晕 果然是这个问题 郁闷 楼上的大哥能不能 说明白点
    为什么会这样 哈哈 学习下 为什么说 注释的BUG..."件"字延长了注释段...我按你说的 加了 //break bug就可以 郁闷中不能结贴 哈哈 希望 能向你 学习下
      

  4.   

    你试试把"件"字去掉后
    alert(LoadAllEvent);
    和没去掉前的比较下就知道了.
      

  5.   

    貌似和保存编码有关.
    当保存文件是用ASNI制式的时候.
    "件"和换行符起化学作用了.
    把换行符清掉了.
      

  6.   

    晕 我刚才按你的说 做了  效果一样 汗 不过加上这个  //break bug确实可以 郁闷
      

  7.   

     //break bug 
    加这个的作用其实是为了把//加换行符把前面的BUG break掉...你试试把文件用记事本打开.存成unicode.
    应该会没问题...