Я хочу запись пользователя, чтобы открыть аккордеон стиле, но .click()
событие срабатывает, даже если я нажимаю на любой другой элемент внутри красной коробке - текст, изображения и т.д.Как связать событие .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>
Введите код вместе с JSFiddle. –
событие распространяется на родительский элемент. – Andreas
Могу ли я предложить очень простое изменение для вашего скрипта для целей тестирования: измените 'console.log (e)' на нечто вроде 'console.log ('test')', в противном случае некоторые браузеры (включая мои) зависают для второй или два, и это немного расстраивает. –