<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
    主站蜘蛛池模板: 嫖丰满老熟妇AAAA片免费看| 亚洲区日韩区无码区| 亚洲AV无码不卡无码| 97无码人妻福利免费公开在线视频 | 免费国产美女爽到喷出水来视频| 国产成人精品亚洲日本在线 | 免费人成在线观看播放国产| 亚洲欧洲无码AV不卡在线| 韩国欧洲一级毛片免费| 久久亚洲精品中文字幕三区| 中文字幕在线免费看线人| 无码乱人伦一区二区亚洲一| 热re99久久6国产精品免费| 老色鬼久久亚洲AV综合| 桃子视频在线观看高清免费完整| 亚洲免费在线观看视频| 韩国18福利视频免费观看| 黄色一级视频免费| 亚洲人成色777777在线观看| 99久久免费精品视频| 亚洲欧洲日产国码www| 日本一道一区二区免费看| 一区二区三区视频免费| 免费99精品国产自在现线| 亚洲A∨精品一区二区三区下载| 免费一看一级毛片人| a级在线免费观看| 亚洲成电影在线观看青青| 波多野结衣久久高清免费| 人人公开免费超级碰碰碰视频 | 永久免费看bbb| 亚洲一区二区三区免费| 亚洲国产一区国产亚洲| 91精品免费国产高清在线| 亚洲AV人人澡人人爽人人夜夜| 永久在线观看www免费视频| 国产精品亚洲专区无码牛牛| 国产黄色免费网站| 国产亚洲蜜芽精品久久| 久久久久亚洲精品成人网小说| 免费精品一区二区三区在线观看|