Только для Internet Explorer кажется, что цель (srcElement) щелчков, mousedowns, mouseups, mouseovers и т. Д. На элементах <select />
не будет привязана к элементу <option />
.
С учетом следующего HTML:
<select id="madness">
<option value="1">One</option>
<option value="2">Two</option>
<option value="2">Three</option>
</select>
и этот базовый обработчик событий jQuery:
$("#madness").mousedown(function(e){
alert(e.target.value); //jQuery pushes srcElement into the target for us here
});
Объект, который находится в e.target
или e.srcElement
, всегда равен <select />
, а не <option />
.
Я решил проявить изобретательность и попытаться использовать document.elementFromPoint(e.clientX,e.clientY)
, и это также возвращает элемент SELECT.
Возникает вопрос: есть ли способ определить <option />
внутри <select />
с помощью аргументов, координат или чего-то еще? Я знаю, что могу подделать это с помощью прокручиваемого блока флажков. Для целей этого вопроса я хотел бы получить любые решения, которые могут использовать нативный элемент select.