1

我很欣赏这在很大程度上取决于要求,但我对将事件附加到外部元素还很陌生。

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

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

内联JS:

<script>
var gc_pageType = 'report';
</script>

外部 JS:

// 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); 
    }
}

即使内容很少,也可以将其拆分为单独的文件,或者将 onload 标签添加到 body 标签中是否更有效?任何输入将不胜感激!

任何输入都会很棒。

4

0 回答 0