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

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

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

    隨筆-7  評(píng)論-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開始編號(hào)的,因此只要以數(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)致編號(hà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) 評(píng)論(0)  編輯  收藏 所屬分類: Ajax
    主站蜘蛛池模板: 亚洲欧洲视频在线观看| 日本亚洲欧美色视频在线播放| 中文字幕免费视频一| 国产99在线|亚洲| 免费一级毛片清高播放| 男人进去女人爽免费视频国产 | 香蕉大伊亚洲人在线观看| 国产精品无码一二区免费 | 久久国产免费福利永久| 处破女第一次亚洲18分钟| 久久亚洲国产欧洲精品一| 久久天天躁狠狠躁夜夜免费观看 | a毛片视频免费观看影院| 亚洲国产成a人v在线| 亚洲黄黄黄网站在线观看| 99久9在线|免费| 免费大片av手机看片高清| 777亚洲精品乱码久久久久久 | 亚洲欧洲中文日韩av乱码| 国产高清不卡免费在线| 一区视频免费观看| 亚洲色偷偷综合亚洲av78| 久久精品国产69国产精品亚洲| 成人性生交大片免费看午夜a| 青青操免费在线视频| 亚洲久热无码av中文字幕| 亚洲国产美国国产综合一区二区 | 亚洲成色999久久网站| 免费真实播放国产乱子伦| 亚洲美女免费视频| 久久av免费天堂小草播放| 亚洲AV无码一区二区一二区| 久久精品国产亚洲AV嫖农村妇女| 国产成人免费网站在线观看| 天天影视色香欲综合免费| 免费看一区二区三区四区| 免费看一级一级人妻片| 亚洲国产成人综合精品| 精品久久久久久亚洲精品| 97亚洲熟妇自偷自拍另类图片| 亚洲AV日韩精品一区二区三区|