Arkadeep De Ответов: 1

Stoppropagation не работает.


Привет,

У меня есть образ внутри якоря. Теперь, нажав TAB, я фокусируюсь на якоре и нажимаю ENTER. Фактическая операция записывается в onclick изображения. Итак,на onclick якоря я вызываю метод image onclick для выполнения. Но после выполнения якорного тега onclick снова вызывается как распространение, и начинается бесконечный цикл.

Может ли один Пожалуйста, помогите мне, чтобы получить решение.

Полный код здесь.

<a onclick="alert('a clicked'); $('#i').click();" href="#" style="padding:60px 60px 60px 60px;">
<img src="Desert.jpg" width="50px" height="50x" id="i" onclick="alert('img clicked'); window.event.cancelBubble = true;event.stopPropagation();" />
</a>


Что я уже пробовал:

Чтобы решить эту проблему, я использовал
окна.событие.cancelBubble = true в;
событие.это происходит();

Но это не работает.

Примечание: при первом нажатии на изображение stopPropagation работает, но нажатие на якорь сначала приводит к бесконечному циклу.

Richard Deeming

Зачем тебе обе? Просто переместите реальный код обработчика событий в событие щелчка якоря и позвольте пузырьку события щелчка изображения.

musefan

Я использую встроенную обработку событий, так что я могу ошибаться, но будет ли вообще существовать "событие"? обычно, если вы назначаете обработчик событий, вам нужно указать параметр события, чтобы иметь возможность его использовать. Вы получаете какие-либо ошибки консоли?

1 Ответов

Рейтинг:
2

Ashwin. Shetty

Ведь ваша функция add return false, или from last function return false; она остановится

onclick="alert('img clicked'); return false;"


javascript-event.preventDefault () vs. return false-переполнение стека[^]


Arkadeep De

Мне очень жаль это говорить, но ваш трюк не работает. Он все еще находится в бесконечном цикле.