Gar*_*eth 80
不幸的是,对这个问题有一个简单的答案,它是"不"
小智 27
这适用于Google Chrome
dropDown = function (elementId) {
var dropdown = document.getElementById(elementId);
try {
showDropdown(dropdown);
} catch(e) {
}
return false;
};
showDropdown = function (element) {
var event;
event = document.createEvent('MouseEvents');
event.initMouseEvent('mousedown', true, true, window);
element.dispatchEvent(event);
};
Run Code Online (Sandbox Code Playgroud)
Phi*_*hil 25
我有这个问题......并找到了一个可行的解决方案.
在用户点击一些纯HTML之前,我不希望显示选择框.所以我用select覆盖了select元素opacity=.01.点击后,我将其改回opacity=100.这允许我隐藏选择,当用户单击文本时,选择出现时显示选项.
小智 25
我用这个...但它要求用户点击选择框...
这是2个javascript函数
function expand(obj)
{
obj.size = 5;
}
function unexpand(obj)
{
obj.size = 1;
}
Run Code Online (Sandbox Code Playgroud)
然后我创建选择框
<select id="test" multiple="multiple" name="foo" onFocus="expand(this)" onBlur="unexpand(this)">
<option >option1</option>
<option >option2</option>
<option >option3</option>
<option >option4</option>
<option >option5</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我知道这段代码有点晚了,但我希望它可以帮助那些和我有同样问题的人.
ps/fyi我没有测试上面的代码(我动态创建我的选择框),我写的代码只在FireFox中测试过.
在尝试解决此问题一段时间后,我设法提供了一个有效的解决方案:
var event = new MouseEvent('mousedown');
element.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
我也尝试在 Jquery 中实现这一点,使用triggerandmousedown或 onlymousedown但没有成功。