在选择框中单击触发器在jQuery中不起作用

如何使用触发器打开下拉列表?

这里是不起作用的代码:

$('select').trigger('click');

只是为了说明 - mousedown和mouseup也不起作用。


        $('select').children('option').each(function() {
            if ($(this).is(':selected'))
            { $(this).trigger('change');  }
        });

你试图达到的是不可能的。 即使您触发点击,下拉列表也不会打开,就好像用户点击它一样。 如果你想改变当前选择的值,你可以使用val函数。 我想唯一的解决方案是模拟使用div的select元素的整个UI外观。


花了我一会儿,但找到了一个解决方案:

(仅限Chrome和Safari)

function open(elem) {
    if (document.createEvent) {
        var e = document.createEvent("MouseEvents");
        e.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
        elem[0].dispatchEvent(e);
    } else if (element.fireEvent) {
        elem[0].fireEvent("onmousedown");
    }
}

http://jsfiddle.net/oscarj24/GR9jU/

链接地址: http://www.djcxy.com/p/83921.html

上一篇: Click trigger on select box doesn't work in jQuery

下一篇: How to select the first element in the dropdown using jquery?