Как реагировать на клики за пределами определенной области? - PullRequest
5 голосов
/ 30 ноября 2011

Мой документ выглядит так: enter image description here

В основном фон представляет собой одноэкранное прозрачное изображение. Есть пара проблем ... если я просто создаю фоновый div и не применяю к нему z-index, он заканчивается всем, и я не могу нажать на поле Если я установлю z-индекс фона div ниже поля, я не смогу щелкнуть фон. Что я хочу сделать, так это чтобы можно было нажимать как на поле, так и на фон.

var x = document.getElementById("bg");
x.addEventListener("click",reset,false);

function reset() {
   alert("reset was clicked");
}

УТОЧНЕНИЕ: поле находится на том же уровне узла, что и bg. это не внутри BG DIV.

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Взгляните на этот плагин jQuery - даже если он не решит ваш конкретный вопрос, код может дать представление о вашей дилемме.

jQuery clickoutside

0 голосов
/ 30 ноября 2011

Вы должны опубликовать свой код, чтобы каждый мог помочь вам. Мой тест корректно работает на Firefox и Chrome. Если я угадаю правильно, фон в вашем коде не раскрывается. Попробуйте удалить html, body { width:100%; height:100%; } в моем примере, чтобы увидеть проблему.

В браузере IE вам необходимо использовать прозрачное gif-изображение в качестве фона фонового элемента div, в противном случае фоновый элемент div не сможет получить событие щелчка мыши.

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