我希望用户输入打开手风琴式,但即使我点击红色框内的任何其他元素 - 文本,图像等,也会触发.click()
事件。
我想只拥有"外部"空格导致事件触发。
我如何做到这一点?
$('#box').click(function(e) {
console.log(e);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box" style="width:80%;background:red;">
<table>
<tr>
<td><img src="http://i.imgur.com/NaCmGyX.jpg" style="width:50px;height:50px;border-radius:50%;"></td>
<td><b>John McDerpenstein</b></td>
<td><p>
A blurb goes here
</p></td>
</tr>
</table>
</div>
&#13;
答案 0 :(得分:0)
$myPath = 'C:\my\file.txt'
$information | Set-Content -Path $myPath
$mypath | Invoke-Item
答案 1 :(得分:0)
您可以使用var app = angular.module('plunker', ['ngRoute']);
直接检查活动的target
属性以查看它是否为#box
元素:
is()
答案 2 :(得分:0)
只需检查e.target.id
,看它是否与您想要的外框的特定id
相匹配。示例如下:
$('#box').click(function(e) {
if (e.target.id === "box")
console.log('click');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box" style="width:80%;background:red;">this is the outer box
<table>
<tr>
<td><img src="http://i.imgur.com/NaCmGyX.jpg" style="width:50px;height:50px;border-radius:50%;"></td>
<td><b>John McDerpenstein</b></td>
<td><p>
A blurb goes here
</p></td>
</tr>
</table>
</div>
答案 3 :(得分:0)
如果要将事件添加到父容器,则必须在所有不需要单击事件的子元素上停止传播。
示例:
由于#box
点击并且框是您的容器
你需要给图像一个id并停止传播
$('#imageID').click(function(e){
e.stopPropagation();
})
使用上面的示例,当您单击图像时,不会发生任何事情,但如果您单击红色容器,那么您的事件将会记录。
答案 4 :(得分:0)
最好的方法是在对孩子进行点击时阻止该事件:
.sublime-completions