Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
Есть пример . Предполагается, что когда перетаскиваешь элемент из правого столбца в левый, то 'mouseup' возникает прежде всего для левого столбца (div '#graph'), что должно быть отражено в нижнем индикаторе словом 'cleared'. Но это событие возникает только для предка ('#main'). WTF? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 13:07 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 14:47 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
Прежде всего, понять механизм. Куда девается событие mouseup, и почему оно таки возникает (в элементе '#graph'), если ввести на него курсор без элемента '.device'? Про Drag'n'Drop я читал. Но там не предполагается свободное перемещение элемента внутри другого элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 14:59 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
skywriterЕсть пример . Предполагается, что когда перетаскиваешь элемент из правого столбца в левый, то 'mouseup' возникает прежде всего для левого столбца (div '#graph'), что должно быть отражено в нижнем индикаторе словом 'cleared'. Но это событие возникает только для предка ('#main'). WTF? Не совсем понятно почему ты ждешь событие в graph ... Ведь курсор находится на дочернем элементе main . Сначала событие будет в самом элементе, а далее будет всплывать в родителях... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:39 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
skywriterПрежде всего, понять механизм. Так он вроде бы прост... http://javascript.ru/tutorial/events/intro#poryadok-srabatyvaniya-sobytiy Там правда нет смещения детей относительно родителей... Но это сути не меняет. skywriterКуда девается событие mouseup, и почему оно таки возникает (в элементе '#graph'), если ввести на него курсор без элемента '.device'? Событие никуда не девается. Просто первый раз оно всплывает в другом элементе, а второй раз просто срабатывает в graph . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:43 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
krvsa, потому что: 1) '#main' является предком '#graph' ('#graph' бирюзовый, '#main' белый). 2) событие 'mousemove' таки возникает в '#graph', это видно в бирюзовому индикатору внизу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:45 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
krvsaСобытие никуда не девается. Просто первый раз оно всплывает в другом элементе, а второй раз просто срабатывает в graph . Если оно никуда не девается, то почему при отпускании кнопки в нижнем бирюзовом индикаторе не появляется надпись 'cleared'? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:47 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
skywriterkrvsa, потому что: 1) '#main' является предком '#graph' ('#graph' бирюзовый, '#main' белый). Но ты же его выключаешь... Код: javascript 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:53 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
skywriterkrvsa, потому что: 1) '#main' является предком '#graph' ('#graph' бирюзовый, '#main' белый). Это не о чем не говорит... События нет в graph . Изначально ты работаешь с device ... Они к graph никакого отношения не имеют... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:56 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
skywriterЕсли оно никуда не девается, то почему при отпускании кнопки в нижнем бирюзовом индикаторе не появляется надпись 'cleared'? Событие возникает в device ... Потом в devices ... Ну и потом в main ... Правда ты используешь остановку событий... Т.о. останавливая их. Весь твой код это пример говнокодинга, потому и понять зачем ты там такое натворил не так просто. Так конь не ходит. (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:59 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
krvsaПравда ты используешь остановку событий... Т.о. останавливая их. Останавливаю в обработчике clear2, чтобы оно после срабатывания в #graph то же событие по иерархии DOM не возникало в #main. Но обработчик clear2 не вызывается, что очевидно (чувствую себя адвокатом какого-нибудь российского чиновника). krvsaСобытие возникает в device... Потом в devices... Ну и потом в main... 1) Тогда почему 'mousemove' возникает в #graph, ведь он не лежит в ветке device->devices->main? 2) Почему 'mousemove' возникает в #graph, а 'mouseup' в #graph не возникает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 16:12 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
Продолжаем исследования... skywriter1) Тогда почему 'mousemove' возникает в #graph, ведь он не лежит в ветке device->devices->device? В какой именно момент времени? Например, когда тащишь элемент device работает только mousemove в device ... Это видно по тому, ч то не срабатывает твой Код: javascript 1. 2. 3. 4. Он начинает работать, только когда избавляешься от device и просто ерзаешь курсором по graph ... skywriter2) Почему 'mousemove' возникает в #graph, а 'mouseup' в #graph не возникает? Не возникает оно в graph . По той же причине, что и mouseup... Пока твой курсор находится на device . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 17:00 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
Ошибочное копирование... krvsaНапример, когда тащишь элемент device работает только mousemove в device ... Читать как Например, когда тащишь элемент device работает только mousemove в main ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 17:01 |
|
||
|
Почему событие 'mouseup' не возникает для потомка?
|
|||
|---|---|---|---|
|
#18+
krvsaОн начинает работать, только когда избавляешься от device и просто ерзаешь курсором по graph ... Верно. Если курсор вести медленно, то не срабатывает в graph. У меня срабатывало, т.к. водил быстро. Тогда как правильно поймать mouseup над graph? Первое, что приходит на ум - это в обработчике mouseup в main проверять координаты курсора. Но это выглядит как костыль (по крайней мере в desktop UI так никогда не делается). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 22:57 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=58&tid=1445405]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 281ms |
| total: | 415ms |

| 0 / 0 |
