【问题标题】:How to open the select input using jquery如何使用jquery打开选择输入
【发布时间】:2012-05-14 06:25:12
【问题描述】:

所以我可以看到选择元素的选项,但我需要点击它。如果我想使用一个函数怎么办?当发生某些事情时,应该选择这个选择元素,这意味着列表是打开的,我可以看到选项。我不希望用户点击选择元素,我想要别的东西来打开它。

我的尝试

$("select").select();
$("select").click();
$("select").focus();

有一个选择元素,通常如果你想打开它(下拉列表),你点击它。如果我单击DIV 或其他任何内容,我想要打开它。我希望打开此下拉列表,而无需用户单击选择元素。

【问题讨论】:

标签: javascript jquery select


【解决方案1】:

这里只是一个更新,因为接受的答案是正确的但已经过时了,initMouseEvent 很快就会被弃用。 [见:https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent]

改用以下内容:new MouseEvent [参见:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/dispatchEvent]

示例代码:

var el = $('select'); // grab the input (jQuery)
var event = new MouseEvent('mousedown'); // create the event listener
el.dispatchEvent(event); // attach the event listener to the element

【讨论】:

  • 开发者 mozilla 链接不再有效。
【解决方案2】:

这应该可行:

var element = $("select")[0], worked = false;
if (document.createEvent) { // all browsers
    var e = document.createEvent("MouseEvents");
    e.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
    worked = element.dispatchEvent(e);
} else if (element.fireEvent) { // ie
    worked = element.fireEvent("onmousedown");
}
if (!worked) { // unknown browser / error
    alert("It didn't worked in your browser.");
}

Example

【讨论】:

  • 我试过小提琴,但我应该如何让它自己打开呢?我应该点击某个地方吗?
  • 它在 Chrome 上工作,不知道为什么不能在 Firefox 上工作。 (它没有给我警报)
  • 这在 Chrome、Safari 中有效。不适用于 IE9、IE10、Firefox、Mobile Safari (iPad)。
  • 能否给个参考链接
【解决方案3】:

我认为您不能使用任何代码将选择框强制设置为drop down。但是您仍然可以使用代码更改所选选项。请看这个

http://www.mredkj.com/tutorials/tutorial003.html

【讨论】:

    猜你喜欢
    • 2021-01-09
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多