代码之家  ›  专栏  ›  技术社区  ›  Yarin

jquery事件目标的故障处理

  •  0
  • Yarin  · 技术社区  · 14 年前

    我想为我的按钮创建一个通用的处理程序, 但以下代码似乎无法识别事件目标, 而是吐出目标.toString()==当前页面的URL?

    HTML:

    <a id="button1" href="#"></a>
    <a id="button2" href="#"></a>
    

    jquery/javascript:

    function myHandler(e) {
    
       if (e.target == $("#button1")) 
          alert("Button 1 clicked");
       else if (e.target == $("#button2")) 
          alert("Button 2 clicked");
       else
          alert(e.target.toString());
    }
    
    $("#button1").click(myHandler);
    $("#button2").click(myHandler);
    
    3 回复  |  直到 14 年前
        1
  •  3
  •   fcalderan    14 年前
    function myHandler(e) {
    
       if (e.target.id == "button1")
          alert("Button 1 clicked");
       else if (e.target.id == "button2")
          alert("Button 2 clicked");
       else
          alert(e.target.toString());
    }
    
    $("#button1").click(myHandler);
    $("#button2").click(myHandler);
    

    http://jsfiddle.net/fcalderan/7b53z/

        2
  •  2
  •   Gabriele Petrioli    14 年前

    1. # myHandler
    2. e.target $('..')

    function myHandler(e) {
    
       if (e.target == $("#button1")[0]) 
          alert("Button 1 clicked");
       else if (e.target == $("#button2")[0]) 
          alert("Button 2 clicked");
       else
          alert(e.target.toString());
    }
    
        3
  •  0
  •   Kieran    14 年前

    here

    $(document).ready(function(){
    
      function eventHandler(e){
        var clicked = $(e.target);
    
        // will check if element is or is a child of event target        
        if (clicked.is('#btn1') || clicked.parents().is('#btn1'))
          console.log("btn1 was clicked");
        else if(clicked.is('#btn2') || clicked.parents().is('#btn2'))
          console.log("btn2 was clicked");
      }
    
      $('#btn1').bind('click', function(e){
        eventHandler(e);
        return false;
      });
    
      $('#btn2').bind('click', function(e){
        eventHandler(e);
        return false;
      });
    
    });
    

    <button id="btn1">Button #1</button>
    <button id="btn2">Button #2</button>
    

    推荐文章