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

特定元素中的OnClick元素

  •  0
  • myol  · 技术社区  · 11 年前

    我想知道一个在某个div中单击某个类的优雅解决方案

    $( ".clickdiv" ).on( "click", function () { //do stuff }
    

    这适用于任何类别的 clickdiv 。然而,我只希望它在 单击div 嵌套有 certain div

    <div class="certaindiv">
       ...bunch of divs
           <div class="clickdiv">
       ...bunch of close divs
    <div>
    
    2 回复  |  直到 11 年前
        1
  •  1
  •   Pranav C Balan Ansh Takalkar    11 年前

    将选择器更新为 .certaindiv .clickdiv 它只会选择 .clickdiv 在…内 .certaindiv

    $(".certaindiv .clickdiv").on("click", function() { 
      alert('clicked');
      //do stuff
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <div class="certaindiv">
      ...bunch of divs
      <div class="clickdiv">
        shdhsghdh
      </div>
      ...bunch of close divs
    </div>
    <div class="clickdiv">
      shdhsghdh
    </div>
        2
  •  1
  •   Stryner    11 年前

    如果元素在加载时位于页面上且从未更改,则可以简单地修改选择器:

    $( ".certaindiv .clickdiv" ).on( "click", function () { /*do stuff*/ }
    

    如果元素是动态创建的,则可以使用事件委派:

    $( ".certaindiv" ).on( "click", ".clickdiv", function () { /*do stuff*/ }