Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Javascript: передача евента в функцию с параметром

Рекомендуемые сообщения

Опубликовано

Суть проблемы:

есть такого плана код:

function foo1(par1)
{
...
}
function foo2(par2)
{
...
}
<div id = "box10" onClick="foo1(10)"> abcdef <div id="element10" onClick="foo2(10)"> 12345 </div> </div>

 

При нажатии на abcdef, вызывается обработчик foo1 с параметром 10, при нажатии на 12345 вызывается сначала foo2 с параметром 10, потом foo1 с тем же параметром. Надо прекратить распространение евента. Казалось бы, легко и просто сделать в нужном месте, например, event.stopPropagation(), но в данном случае как получить event в этих функциях я не знаю.

 

в принципе я представляю, что, наверное, можно убрать параметр 10, а потом внутри брать this, как-то доставать оттуда div id и оттуда брать число 10, а в освободившийся список входных параметров как раз будет автоматически отправляться event, но хочется как-то попроще.

Опубликовано

Объявите функцию следующим образом

function foo2(par2, e)
{
...
}

 

И вызовите её так

foo2(10, event)

 

Таким образом внутри foo2 в переменной e будет нужное вам событие

Для публикации сообщений создайте учётную запись или авторизуйтесь

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.