4
По странным причинам я должен изменить выбранный элемент в выпадающем списке не через e.selectedIndex, а через симуляцию событий мыши и нажатия клавиш.Сжатие клавиши со стрелкой в окне выбора с помощью javascript
Я попробовал следующее:
//e = the dropdown
e.focus();
//my custom function to fire mouse events. This opens the dropdown.
fireMouseEvent("mousedown", e);
//firing the key press, tried it via keydown, keypress and keyup. Nothing works.
var evt = e.ownerDocument.createEvent("KeyEvents");
evt.initKeyEvent("keydown", true, true, null, false, false, false, false, 40, 0);
evt.initKeyEvent("keypress", true, true, null, false, false, false, false, 40, 0);
evt.initKeyEvent("keyup", true, true, null, false, false, false, false, 40, 40);
e.dispatchEvent(evt);
я делаю что-то неправильно, или это невозможно?
спасибо.
Странные причины действительно. Постарайтесь объяснить, чтобы, возможно, мы предложили альтернативу? :) –
Кажется, что вы можете установить selectedIndex, а затем вызвать события, которые необходимы. –
Посмотрите это, если вы используете хром (объясняет, почему это невозможно): http://stackoverflow.com/questions/1897333/firing-a-keyboard-event-on-chrome –