2010-06-18 5 views
2

У меня есть большой DIV с некоторыми связями внутри, я хотел бы иметь большие Див интерактивных и ссылки внутри тоже, я сделал это:JQuery: отдавать предпочтение внутреннего щелчок

html : 

<div class="clickable"> 
    some text... 
    <a href="myurl1">Link 1</a> 
    <a href="myurl2">Link 2</a> 
    some text... 
</div> 

jquery : 

$('.clickable').click(function() { 
    alert('Hello'); 
}); 

Если я нажимаю на ссылку внутри интерактивного div, я сначала получил предупреждение «Hello», а затем загрузилась новая страница: возможно ли, чтобы привязки работали без запуска внешнего обработчика div?

ответ

4

Добавьте этот код:

$('a').click(function(event) { 
    event.stopPropagation(); 
}); 

Вы можете увидеть его здесь работать: http://jsfiddle.net/wPymp/

Этот код работает простым способом: .event.stopPropagation() убеждается событие не распространяется вверх по DOM и обработчики запуска по элементам предка.

+0

Слишком легко !! Большое спасибо за ссылку на ваш сайт для тестирования – Eric

+0

jsFiddle должен быть связан с первой страницы, конечно же, со списком конкурентов (я никак не связан с jsFiddle). – MvanGeest