<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-7  評論-24  文章-102  trackbacks-0

    1、跨瀏覽器兼容的事件處理
    2、選擇列表框
    3、單選按鈕和復(fù)選框
    4、測驗(yàn)




    1、跨瀏覽器兼容的事件處理

    //可復(fù)用的事件處理函數(shù)
    function catchEvent(eventObj, event, eventHandler) {
      
    if (eventObj.addEventListener) {
        eventObj.addEventListener(event, eventHandler, 
    false);
      } 
    else if (eventObj.attachEvent) {
        event 
    = "on" + event;
        eventObj.attachEvent(event, eventHandler);
      }   
    }

    //可復(fù)用的事件取消函數(shù)
    function cancelEvent(event) {
      
    if (event.preventDefault) {
        event.preventDefault();
        event.stopPropagation();
      } 
    else {
        event.retrunValue 
    = false;
        event.cancelBubble 
    = true;
      }    
    }



    2、選擇列表框

    var opts = document.getElementById("someForm").selectOpts.options;
    for (var i=0; i<opts.length; i++) {
      
    if (opts[i].selected) {
        alert(opts[i].text 
    + " " + opts[i].value);
      }
    }

    a.動(dòng)態(tài)添加一個(gè)新的選項(xiàng):由于數(shù)組的索引值是從 0開始編號的,因此只要以數(shù)組的 length屬性作為索引值,就可以在數(shù)組的最后面添加一個(gè)新的數(shù)組元素。
    opts[opts.length] = new Option["Option Four", "Opt4"];

    b.刪除一個(gè)選項(xiàng),只需將數(shù)組中該選項(xiàng)設(shè)置為 null,這樣操作將會(huì)重新安排數(shù)組,而不會(huì)導(dǎo)致編號不連續(xù)的現(xiàn)象。
    opts[2] = null;

    如果想刪除所有選項(xiàng),那么只需將數(shù)組的 length設(shè)置為 0。
    opts.length = 0;


    自動(dòng)選擇
    //catchEvent(document.getElementById("selectOpts"), "change", checkSelect);
    var theEvent = evnt ? evnt : window.event;

    var opts = document.getElementById("someForm").selectOpts.options;
    for (var i=0; i<opts.length; i++) {
      
    if (opts[i].selected) {
        
    switch (opts[i].value) {
          
    case "Opt1" : opts[i+1].selected = true;
            
    break;
          
    case "Opt3" : opts[i+1].selected = true;
            
    break;
          
    case "Opt5" : opts[i+1].selected = true;
            
    break;
        }
      }
    }



    3、單選按鈕和復(fù)選框

    //單選按鈕訪問:
    var buttons = document.getElementById("radioGroup");
    for (var i=0; i<buttons.length; i++)
    {
      
    if (buttons[i].checked) {
        alert(buttons[i].value);
      }
    }


    //復(fù)選框選擇:
    var colorOpts = document.getElementById("someForm").getElementByTagName("input");

    //遍歷復(fù)選框中的每個(gè) checkbox,檢查是否被選中
    var isChecked = false;
    for (var i=0; i<colorOpts.length; i++) {
      
    if ((colorOpts[i].type == "checkbox"&& (colorOpts[i].checked)) {
        ifChecked 
    = true;
        
    break;
      }
    }

    //沒有一個(gè) checkbox被選中
    if (!isChecked) {
      alert(
    "no choose!");
      
    }



    4、測驗(yàn)

    Q:如果表單數(shù)據(jù)不完整或無效,如何停止表單提交操作?
    A:
         如果你使用 DOM Level 0的事件,那么只要在事件句柄中返回 false值,并且在事件句柄腳本中取消表單提交操作即可。
         如果你使用 DOM Level 2模型,那么就將 event對象的 cancelBubble屬性設(shè)置為 true(針對 IE),并調(diào)用其 preventDefault方法(針對其他瀏覽器)。
    posted on 2010-05-29 15:50 黃小二 閱讀(320) 評論(0)  編輯  收藏 所屬分類: Ajax
    主站蜘蛛池模板: 一日本道a高清免费播放 | 十八禁视频在线观看免费无码无遮挡骂过 | 无码视频免费一区二三区 | 亚洲成人午夜在线| 91精品成人免费国产| 国产成人麻豆亚洲综合无码精品| 国产精品亚洲精品爽爽| 亚洲精品99久久久久中文字幕 | 337p日本欧洲亚洲大胆裸体艺术 | 亚洲成A∨人片在线观看不卡| 曰批全过程免费视频在线观看无码 | 久久高潮一级毛片免费| 亚洲女同成av人片在线观看| 99re6在线视频精品免费| 久久香蕉国产线看观看亚洲片| 久久国产精品2020免费m3u8| 亚洲高清无在码在线电影不卡| 国产成人yy免费视频| 亚洲成av人片在线天堂无| 亚洲另类少妇17p| 无码人妻精品中文字幕免费| 亚洲人成黄网在线观看| 拔擦拔擦8x华人免费久久| 午夜免费国产体验区免费的| 亚洲国产精品无码一线岛国| 91免费国产自产地址入| 亚洲AV无码一区二区大桥未久| 亚洲欧洲精品成人久久奇米网| 国产亚洲免费的视频看| 亚洲乱码在线观看| 亚洲成?v人片天堂网无码| 免费看搞黄视频网站| 激情综合亚洲色婷婷五月APP| jjzz亚洲亚洲女人| 222www免费视频| 青青视频免费在线| 亚洲美女大bbbbbbbbb| 免费一级毛片不卡不收费| 久久精品一区二区免费看| 亚洲人成网站18禁止| 中文字幕亚洲激情|