У меня есть div, который выполняет анимацию при событии щелчка. Но я не хочу запускать событие щелчка, если нажимаю на теги привязки (), которые находятся в том же самом div. Есть ли какой-нибудь способ получить события из тега привязки или нет? Вот фрагмент кода https://gist.github.com/1694091
Остановить распространение при щелчке якоря,
$("a").click(function(e) { e.stopPropagation(); });
Создайте 2 события - 1 для div и 1 для ссылки, и используйте (как уже предлагалось) stopPropagation, чтобы остановить щелчки по ссылке, также вызывая событие click div ....
$(".stream-cell").on("click", function() { // The div was clicked }); $(".stream-cell a").on("click" function(e) { e.stopPropagation(); // The link was clicked });
якорь всегда имеет атрибут name, попробуйте это:
$("a").click(function(e) { if ($(this).hasAttr("name")) { } else{ } })
использование
event.target == $('#anchorElement').get(0);
Вы также можете сделать это:
$('#anchorElement') .click( function(e) { e.stopPropagation(); e.preventDefault(); return false; } );
<script type="text/javascript"> $('div').on('click', function(e) { if(!$(e.target).is('a')) { alert('div clicked, but NOT an a!'); } }); </script>
- редактировать, извините, слишком быстро, не сработало, но это будет! (Проверено)
Тег Anchor имеет событие onclick, как и все остальное в dom.Я считаю, что вам нужно иметь
<a href='' onclick="javascript:return false;">Click ME!</a>