外部应用页面特定javaScript的方法

外部应用页面特定javaScript的方法,javascript,onload,addeventlistener,attachevent,Javascript,Onload,Addeventlistener,Attachevent,我知道这在很大程度上取决于需求,但我对从外部将事件附加到元素还是相当陌生的 我想知道识别特定于页面的脚本和事件以及最小化HTML模板中的JS的最佳实践。这是我的第一次尝试: 为页面添加全局变量 在外部脚本中,检测该变量并基于它设置事件 内联JS: <script> var gc_pageType = 'report'; </script> 即使在内容非常少的情况下,也可以将其拆分为单独的文件,或者将onload标记添加到body标记中,这样效率更高吗?任何意见都将不胜感

我知道这在很大程度上取决于需求,但我对从外部将事件附加到元素还是相当陌生的

我想知道识别特定于页面的脚本和事件以及最小化HTML模板中的JS的最佳实践。这是我的第一次尝试:

为页面添加全局变量 在外部脚本中,检测该变量并基于它设置事件 内联JS:

<script>
var gc_pageType = 'report';
</script>
即使在内容非常少的情况下,也可以将其拆分为单独的文件,或者将onload标记添加到body标记中,这样效率更高吗?任何意见都将不胜感激

任何意见都会很好

// report functions
function reportFunctions() {
    lo_element = document.getElementById('firstname');
    addEventHandler(lo_element, 'blur', alertOnBlur);
}

function alertOnBlur() {
    alert('worked');
}

// general functions
function pageScripts() {

    switch(gc_pageType) {
        case 'report':
        reportFunctions();
    }
}

if(window.addEventListener){
    window.addEventListener('load',pageScripts,false); //W3C
}
else{
    window.attachEvent('onload',pageScripts); //IE
}

function addEventHandler(elem,eventType,handler) {
    if (elem.addEventListener) {
        elem.addEventListener (eventType,handler,false);
    }
    else if (elem.attachEvent) {
        elem.attachEvent ('on'+eventType,handler); 
    }
}