Отличить клик по нераскрытому select'у от клика по раскрытому
Всем доброго времени суток!
Требуется чтобы функция отрабатывала только при первом клике по селекту - когда он ещё свёрнут. При повторном клике, когда кликают уже по option'у - чтобы не отрабатывала. Если повесить функцию на клик - то отрабатывает в обоих случаях. Подскажите как можно отличить эти две ситуации. |
Цитата:
|
Цитата:
|
upvasil,
По любому клику на sеlect - менять class к примеру на аctive - затем на без аctive тогда sеlect.аctive - развернутый sеlect Проще и типичней отслеживаеть: - есть ли наведение на option - отличным от selected |
Скорее всего отличить невозможно. Так что забей.
|
Deff, спасибо.
Почему-то mousedown срабатывает только при окрытии селекта, при клике уже на option не срабатывает. |
Список может запросто закрыться и без второго клика по селекту и вообще без какого либо клика. Как вы собрались этот момент отловить?
|
danik.js, например, с помощью onblur'а. В хроме это работает, но в ff - нет, при втором клике рядом с селектом событие не происходит почему-то...
|
Цитата:
Думаю задача нерешаема. Если ошибки допустимы, то попытаться можно, но думаю это все напрасно будет. |
Цитата:
<!DOCTYPE HTML><html><head></head><body> <div id="where">куда кликали: </div> <select id="select"> <option id="option1">odin</option> <option id="option2">dva</option> </select> <script> document.getElementById('select').onclick = function() { document.getElementById('where').innerHTML += 'select, '; } document.getElementById('option1').onclick = function(event) { document.getElementById('where').innerHTML += 'option1, '; event.stopPropagation ? event.stopPropagation() : event.cancelBubble=true; } document.getElementById('option2').onclick = function(event) { document.getElementById('where').innerHTML += 'option2, '; } </script> </body></html> |
Часовой пояс GMT +3, время: 15:12. |