2016-07-29 71 views
1

我正在嘗試解決如何在表中任意位置右鍵單擊,該表中有一個tr標記上的事件偵聽器,並將click()命令傳遞給子女button在jQuery中識別被單擊目標的子元素

jQuery(".catcher").contextmenu(function (e) { 
 
    e.target.**FIND CHILD BUTTON**.click(); 
 
});
table { 
 
    border: 1px solid red; 
 
    width: 200px; 
 
    height: 200px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr class="catcher"> 
 
    <td> 
 
     <span> 
 
      <button onclick="alert('it works!');">Button</button> 
 
     </span> 
 
    </td> 
 
    </tr> 
 
</table>

回答

3

您需要使用jquery find方法至極搜索的第一個孩子研究所ANCE在任何深度

jQuery(".catcher").contextmenu(function(e) { 
 
    $(this).find('button').click(); 
 
    return false; 
 
});
table { 
 
    border: 1px solid red; 
 
    width: 200px; 
 
    height: 200px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr class="catcher"> 
 
    <td> 
 
     <span> 
 
      <button onclick="alert('it works!');">Button</button> 
 
     </span> 
 
    </td> 
 
    </tr> 
 
</table>

2

jQuery(".catcher").contextmenu(function (e) { 
 
    //e.target.**FIND CHILD BUTTON**.click(); 
 
    $(e.target).find('button').click() 
 
});
table { 
 
    border: 1px solid red; 
 
    width: 200px; 
 
    height: 200px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr class="catcher"> 
 
    <td> 
 
     <span> 
 
      <button onclick="alert('it works!');">Button</button> 
 
     </span> 
 
    </td> 
 
    </tr> 
 
</table>

$()包裝e.target然後用.find('button')

0

轉寄此位置數量是類名

($(e).parent().parent().find(".Qty").val()