Подтвердить что ты не робот

Делает e.stopPropagation() в jquery работает на теге привязки

Я хочу, чтобы предотвратить событие из элемента внутри тега привязки, я пытаюсь использовать e.stopPropagation(); он, кажется, не работает, это возможно, или я просто трачу время, пожалуйста, помогите мне отсюда javascript:

$(document).ready(function(){
    $('.alink .p').click(function(e){
    alert("hi");
    e.stopPropagation();  
});

html:

<div>
    <a href="#" onclick="location.href='http://google.com'; return false;" class="alink" >Google links
          <p class="p">Another Links to prevent default</p>
    </a>
</div>

спасибо за ваше драгоценное время

4b9b3361

Ответ 1

event.stopPropagation() перестает передавать событие обработчикам дальше в структуре DOM из элемента, на котором было инициировано событие изначально. Это не предотвращает действие, которое уже было запущено.

Вы должны использовать event.preventDefault(), чтобы остановить упомянутое выше действие по умолчанию.

Источники:

Ответ 2

Описание

Он не остановит поведение по умолчанию (например, ссылки на клики), и вам может потребоваться использовать event.preventDefault() в дополнение к этот метод.

event.stopPropagation() предназначен только для обработчиков событий, а не для поведения по умолчанию.

event.preventDefault() Если этот метод вызывается, действие по умолчанию для события не будет активировано.

У вас были некоторые орфографические ошибки в script и document not "document".

Проверьте образец и демонстрация jsFiddle

Пример

$(document).ready(function(){
    $('.alink, .alink > .p').click(function(e){
        e.preventDefault();
        e.stopPropagation();
        alert("hi");
    });
});

Дополнительная информация

Ответ 3

попробуйте это

$(document).ready(function(){
    $('.alink .p').click(function(e){
        e.preventDefault();
        e.stopImmediatePropagation();
        alert("hi");
        return false;
    });
});

Ответ 4

вы должны использовать- e.preventDefault(), чтобы остановить поведение по умолчанию. stopPropagation используется для остановки пузырьков событий.

Ответ 5

Вы пропустили заключенные здесь скобки, не так ли?

$('document').ready(function(){
    $('.alink .p').click(function(e){
    alert("hi");
    e.stopPropagation();  
});

Скопируйте скобки, а затем используйте e.preventDefault().