• 给radio添加点击事件


    1.单独给每个radio添加点击事件

    <fieldset id="form-gra-time">
      <legend>请选择日期粒度:</legend>
      <label>日

        <input name="gra-time" value="day" type="radio" checked="checked">

      </label>
      <label>周

        <input name="gra-time" value="week" type="radio">

      </label>
      <label>月

        <input name="gra-time" value="month" type="radio">

      </label>
    </fieldset>

    var radio=document.getElementsByName("gra-time");

    for(var i=0;i<radio.length;i++){

      if(radio[i].checked){

        radio[i].addEventListener("click",clickFunction);

      }

    }

    判断选中的radio的值,使用radio[i].value;

    给每个radio绑定事件是不推荐的。

    2.委托事件

    var form_gra_time=document.getElementById("form-gra-time");
    form_gra_time.addEventListener("click",function(e){
      if(e.target.name=="gra-time"){
        graTimeChange();
      }
    })

    /*这里判断目标直接使用了target,如果需要跨浏览器的话可以写成var target=e.target||e.srcElement。同样的addEventListener也是不能直接用的

      function addEventHandler(ele, event, hanlder) {
        if (ele.addEventListener) {
          ele.addEventListener(event, hanlder, false);
        } else if (ele.attachEvent) {
          ele.attachEvent("on"+event, hanlder);
        } else {
          ele["on" + event] = hanlder;
        }
      }

    */

    function graTimeChange(){

      /*判断选择的是哪个radio*/

      for(var i=0;i<radio.length;i++){

        if(radio[i].checked){

          str=radio[i].value;

        }

      }

    }

  • 相关阅读:
    [姿势] 关于Ubuntu16.04安装前后
    [题解] poj 1716 Integer Intervals (差分约束+spfa)
    [题解] hdu 2433 Travel (BFS)
    [题解] poj 3169 Layout (差分约束+bellmanford)
    [题解] poj 3660 Cow Contest (floyd)
    [题解] hdu 1142 A Walk Through the Forest (dijkstra最短路 + 记忆化搜索)
    [题解] poj 1724 ROADS (dijkstra最短路+A*搜索)
    [BZOJ1491][NOI2007]社交网络 floyd
    [BZOJ2064]分裂 状压dp
    [BZOJ3585]mex 主席树
  • 原文地址:https://www.cnblogs.com/YangqinCao/p/5395608.html
Copyright © 2020-2023  润新知