Вот полный пример, который должен делать то, что вам нужно ...
$(":not(#myelement)").bind('mousedown', function(event) {
console.log('mousedown event');
event.stopPropagation()
});
Важное замечание (по комментариям Юля)
Событие будет добавлено в КАЖДЫЙ элемент на странице, за исключением одного элемента с идентификатором «myelement». Я собрал это быстрое демо, чтобы продемонстрировать ...
Вы заметите, что предупреждение onclick («привет») никогда не вызывается, независимо от того, где вы нажимаете - это демонстрирует предотвращение распространения события. Вы также заметите, что когда вы нажимаете «myelement», вызывается событие для родителя, потому что вы не добавили обработчик событий в этот элемент. Ниже я объясню, как вы можете это исправить. Вот пример.
<div oclick="alert('hi');" id="a">
<div id="b">One</div>
<div id="c">One</div>
<div id="d">One</div>
<div id="e">One</div>
<div id="f">One</div>
<div id="myelement">Not One</div>
<div id="h">One</div>
<div id="i">One</div>
</div>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(":not(#myelement)").bind('mousedown', function(event) {
alert($(this).attr("id"));
event.stopPropagation()
});
</script>
И вам нужно будет сделать следующее, чтобы щелчки на «myelement» не вызывали срабатывание родительского элемента:
$(":not(#myelement)").bind('mousedown', function(event) {
console.log('mousedown event');
// event.stopPropagation() - you might not want this anymore - up to you...
// I think you wanted clicks on "myelement" to be ignored, rather than
// event propagation to be prevented
});
$("#myelement").bind('mousedown', function(event) {
event.stopPropagation()
});