在菜单打开之前,有没有办法对点击<select>元素做出反应?

时间:2017-11-17 12:15:14

标签: javascript jquery forms drop-down-menu scroll

我已经使用Javascript向表格添加了滚动行为:单击表单元素后,页面将滚动到此元素。 它的工作方式几乎......通过点击公式元素处理这个JQuery: $(&#39; html,body&#39;)。animate({scrollTop:$(formularElement).offset()。top - window.innerHeight / 2},500); 当我单击选择元素时,首先显示菜单,然后页面滚动,同时选择菜单保持原样。 在菜单显示之前有没有办法处理一些代码? 或者我可以阻止打开菜单,然后滚动并在处理页面滚动后通过代码打开它? 或者有没有办法移动浏览器为select元素打开的窗口?

1 个答案:

答案 0 :(得分:0)

我已经包括onclick和onselect以帮助你区分;如果它没有帮助你,我会删除;

&#13;
&#13;
document.getElementById('drop_down').onchange = changed;
document.getElementById('drop_down').onclick = clicked;

function changed() {
alert('on changed')
document.getElementById('drop_down').click();
}

function clicked(e) {
e.preventDefault();
alert('on clicked')
}
&#13;
<select name="" id="drop_down" >
<option value="choose">Please choose</option>
<option value="option 1">option 1</option>
<option value="option 2">option 2</option>
<option value="option 3">option 3</option>
<option value="option 4">option 4</option>
</select>
&#13;
&#13;
&#13;