如何从javascript打开JQuery selectmenu插件?
的如何从javascript打开JQuery selectmenu插件?,javascript,jquery,jquery-ui,select-menu,jquery-ui-selectmenu,Javascript,Jquery,Jquery Ui,Select Menu,Jquery Ui Selectmenu,的open方法不起作用 $( "#speed" ).selectmenu('open'); // doesn't work 想法 HTML <button id="btn">open it</button> <fieldset> <label for="speed">Select a speed</label> <select name="speed" id="speed"> <op
open
方法不起作用
$( "#speed" ).selectmenu('open'); // doesn't work
想法
HTML
<button id="btn">open it</button>
<fieldset>
<label for="speed">Select a speed</label>
<select name="speed" id="speed">
<option value="Slower">Slower</option>
<option value="Slow">Slow</option>
<option value="Medium" selected="selected">Medium</option>
<option value="Fast">Fast</option>
<option value="Faster">Faster</option>
</select>
</fieldset>
CSS
$(function () {
$( "#speed" ).selectmenu();
$('#btn').click(function(){
$( "#speed" ).selectmenu('open'); // doesn't work
});
});
fieldset {
border: 0;
}
label {
display: block;
margin: 30px 0 0 0;
}
select {
width: 200px;
}
.overflow {
height: 200px;
}
我看了一下发生了什么事。它的打开状态为ok,但在打开过程中,它注册了一个文档单击处理程序,该处理程序会关闭菜单以响应菜单外的任何单击,并且该处理程序会立即处理对按钮的单击。您应该能够停止处理程序处理此点击,如下所示:
$(function () {
$( "#speed" ).selectmenu();
$('#btn').click(function(event){
$( "#speed" ).selectmenu('open');
event.stopPropagation();
});
});
我看了一下发生了什么事。它的打开状态为ok,但在打开过程中,它注册了一个文档单击处理程序,该处理程序会关闭菜单以响应菜单外的任何单击,并且该处理程序会立即处理对按钮的单击。您应该能够停止处理程序处理此点击,如下所示:
$(function () {
$( "#speed" ).selectmenu();
$('#btn').click(function(event){
$( "#speed" ).selectmenu('open');
event.stopPropagation();
});
});