Knockoutjs - 单击按钮打开 select 下拉菜单

Knockoutjs - Open select dropdown on button click

有什么方法可以在单击其他按钮时打开下拉菜单吗?

给你!!

JS

function VM() {
  var message = ko.observable("hello!!");

  function onButtonClick() {
   var dropdown = document.getElementById('dropdown');    
   showDropDown(dropdown);
}  

function showDropDown(element){
  var event;
  event = document.createEvent('MouseEvents');
  event.initMouseEvent('mousedown', true, true, window);
  element.dispatchEvent(event);
}

return {
  message: message,
  onButtonClick:onButtonClick
   }
 }

ko.applyBindings(new VM());

HTML

   <button data-bind="click: onButtonClick">
     Button
   </button>
   <select id="dropdown" >
     <option>1</option>
     <option>2</option>
     <option>3</option>
     <option>4</option>
   </select>

这里是JSFiddle!与解决方案

更新了 How can you programmatically tell an HTML SELECT to drop down (for example, due to mouseover)? 的解决方案以用于 Knockout