Обнаружить dblckick мыши вне вложенного элемента? - PullRequest
0 голосов
/ 09 февраля 2011

То, что я пытаюсь сделать здесь, это настроить jquery, чтобы иметь два поля. Первый блок позволяет мне скрыть первый блок и открыть новый при нажатии. Новое (второе) поле должно быть удалено при щелчке тела вне элемента.

Я играл с разными вещами, включая события выхода / ввода, но, похоже, не могу найти простой и прямой способ получить этот эффект.

Я установил jsfiddle, который демонстрирует, что я пытаюсь сделать.

http://jsfiddle.net/wdAPu/2/

1 Ответ

2 голосов
/ 09 февраля 2011

Я думаю, вам нужно добавить

event.stopPropagation();

к обработчику событий, привязанному к #opener. Это предотвращает всплывание события и вызывает обработчик события в #body.

см. Обновленную версию: http://jsfiddle.net/wdAPu/3/

Ссылка : event.stopPropagation

Теперь, это все равно будет скрывать новый ящик, если дважды щелкнуть внутри нового окна. Чтобы предотвратить это, вы должны привязать к нему обработчик событий и предотвратить возникновение событий. Это можно сделать с помощью ярлыка:

$('#content').dblclick(false);

(см. Здесь: http://jsfiddle.net/wdAPu/6/)


Если вы создаете коробки динамически, взгляните на .delegate() и event.stopImmediatePropagation().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...