Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dom 使用JQuery event.target处理子项_Dom_Jquery - Fatal编程技术网

Dom 使用JQuery event.target处理子项

Dom 使用JQuery event.target处理子项,dom,jquery,Dom,Jquery,我的问题特别提到 如果像我所做的那样,在或其他标记中使用span来更改样式,例如,元素的该部分将不会触发JQuery函数切换其子元素。如何才能让这一切顺利进行 HTML: 要继续使用当前表单,我建议使用closest(): 虽然我自己喜欢: $('li').on('click', function(e){ e.stopPropagation(); $(this).find('ul').toggle(); }); 参考资料: 一个完整的e.target子项示例,与dat

我的问题特别提到

如果像我所做的那样,在
  • 或其他标记中使用span来更改样式,例如
    ,元素的该部分将不会触发JQuery函数切换其子元素。如何才能让这一切顺利进行

    HTML:


    要继续使用当前表单,我建议使用
    closest()

    虽然我自己喜欢:

    $('li').on('click', function(e){
        e.stopPropagation();
        $(this).find('ul').toggle();
    });
    

    参考资料:


    一个完整的e.target子项示例,与datatable和外部数据最接近

    HtML
    真的不客气,我很高兴能帮上忙!=)太棒了,大卫!第二种解决方案很酷很简单。谢谢你的小提琴!不错!我使用您的方法来验证todo列表中单击的胶粘物类:$target_class=$target.find('a');var targ_class=$target_class.attr('class');如果(targ_类=='mynote')。。。。否则……应谨慎使用停止事件传播:
    function handler(event) {
      var $target = $(event.target);
      if( $target.is("li") ) {
        $target.children("ul").toggle();
      }
    }
    $("ul").click(handler).find("ul").hide();
    
    function handler(event) {
        $(event.target).closest('li').children("ul").toggle();
    }
    $("ul").click(handler).find("ul").hide();
    
    $('li').on('click', function(e){
        e.stopPropagation();
        $(this).find('ul').toggle();
    });
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <title>example</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
      <link rel="stylesheet" href="css/style.css">
      <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
      <script type="text/javascript" charset="utf8" src="js/jquery.dataTables.js"></script>
      <script src="js/script.js"></script>
    </head>
    <body>
    
    <div class="col-md-12 sectionone">
     <div id="coxtable">
    
     <div class="col-md-3 outerblock" id="section1"><div  class="blocks section1"><h6 class="span1">Section1</h6><span class="span1a">Section1a</span></div></div>
     <div class="col-md-3 outerblock" id="section2"><div  class="blocks section2"><h6 class="span1">Section2</h6><span class="span1a">Section2a</span></div></div>
     <div class="col-md-3 outerblock" id="section3"><div  class="blocks section3"><h6 class="span1">Section3</h6><span class="span1a">Section3a</span></div></div>
     <div class="col-md-3 outerblock" id="section4"><div  class="blocks section4"><h6 class="span1">Section4</h6><span class="span1a">Section4a</span></div></div>
    
     </div>
    </div>
    <div class="sectiontwo col-md-12">
     <table id="example">
            <thead>
                <tr>            
                    <th>name</th>
                    <th>stargazerscount</th>
                    <th>forkscount</th>
                    <th>description</th>
    
                </tr>
            </thead>
            <tbody>         
            </tbody>
        </table>
    
        </div>
        <div id="testmodal" class="modal fade" role="dialog">
      <div class="modal-dialog">
        <!-- Modal content-->
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title">Modal Header</h4>
          </div>
          <div class="modal-body">
            <p>Some text in the modal.</p>
          </div>
          <div class="modal-footer">
            <button type="button" class="modalbtn btn btn-default" data-dismiss="modal">Close</button>
          </div>
        </div>
      </div>
    </div>
    </body>
    </html>
    
    $(document).ready( function () {
    var tables=$('#example').DataTable( {
     "ajax": {
                 "type"   : "POST",          
                "url": "http://localhost/example/json/members.json",
                 "dataSrc": function (json) {
          var return_data = new Array();
          for(var i=0;i< json.length; i++){    
            return_data.push({     
             'name': json[i].name,
              'stargazerscount'  : json[i].stargazerscount,
               'forkscount'  : json[i].forkscount,
              'description' : json[i].description
            })
            $('.overlay').hide();
            $(".loader").hide();
          }
          return return_data;
                 }
        },
    
            "columns": [
                { "data": "name" },
                { "data": "stargazerscount" },
                { "data": "forkscount" },
                { "data": "description" }
    
            ]
    
    }); 
    /*onclick filter*/
    
        $(".outerblock").click(function(e){
    
          $("#testmodal").modal('show');
    
          var item=$(e.target).closest('span').text();
    
            $( ".modalbtn" ).one( "click", function(event) {
                 $(this).off(event);
       alert(item)
        var tables=$('#example').DataTable( {
            "destroy":true,
     "ajax": {
                 "type"   : "POST",          
                "url": "http://localhost/example/json/members.json?id="+item,
                 "dataSrc": function (json) {
          var return_data = new Array();
          for(var i=0;i< json.length; i++){    
            return_data.push({     
             'name': json[i].name,
              'stargazerscount'  : json[i].stargazerscount,
               'forkscount'  : json[i].forkscount,
              'description' : json[i].description
            })
            $('.overlay').hide();
            $(".loader").hide();
          }
          return return_data;
                 }
        },
    
            "columns": [
                { "data": "name" },
                { "data": "stargazerscount" },
                { "data": "forkscount" },
                { "data": "description" }
    
            ]
    
    }); 
    });
    
    
      });   
    
     $("#example").delegate("tbody tr td:first-child", "click", function(e){
        var item=$(e.target).text();
        //alert(item);
          $("#testmodal").modal('show');
          $( ".modalbtn" ).one( "click", function(event) {
                 $(this).off(event);
        alert(item);
    
    
        var tables=$('#example').DataTable( {
            "destroy":true,
     "ajax": {
                 "type"   : "POST",          
                "url": "http://localhost/example/json/members.json?id="+item,
                 "dataSrc": function (json) {
          var return_data = new Array();
          for(var i=0;i< json.length; i++){    
            return_data.push({     
             'name': json[i].name,
              'stargazerscount'  : json[i].stargazerscount,
               'forkscount'  : json[i].forkscount,
              'description' : json[i].description
            })
            $('.overlay').hide();
            $(".loader").hide();
          }
          return return_data;
                 }
        },
    
            "columns": [
                { "data": "name" },
                { "data": "stargazerscount" },
                { "data": "forkscount" },
                { "data": "description" }
    
            ]
    
    }); 
    }); 
    }); 
    });
    
    [{
                "name": "mango",
                "stargazerscount": 526,
                "forkscount": "critical",
                "description": "fruits"
            },
    {
                "name": "mobiles",
                "stargazerscount": 526,
                "forkscount": "major",
                "description": "electronics"
            },
             {
                "name": "mobiles",
                "stargazerscount": 526,
                "forkscount": "major",
                "description": "electronics"
            }
    ]