Javascript Knockoutjs-单击按钮打开选择下拉列表

Javascript Knockoutjs-单击按钮打开选择下拉列表,javascript,jquery,knockout.js,dom-events,Javascript,Jquery,Knockout.js,Dom Events,有没有办法在单击其他按钮时打开下拉列表?给你 JS function VM() { var message = ko.observable("hello!!"); function onButtonClick() { var dropdown = document.getElementById('dropdown'); showDropDown(dropdown); } function showDropDown(element){ var event;

有没有办法在单击其他按钮时打开下拉列表?

给你

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>

按钮
1.
2.
3.
4.
给你!解决方案

更新了淘汰赛的解决方案

给你

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>

按钮
1.
2.
3.
4.
给你!解决方案


更新了来自for Knockout的解决方案

当绑定点击偶数时,您可以触发事件处理程序中另一个元素的下拉。当绑定点击偶数时,您可以触发事件处理程序中另一个元素的下拉。感谢帮助:)这不再适用于Chrome v。53.0.2785.116. 有什么更新吗?谢谢你的帮助:)这在Chrome v上已经不起作用了。53.0.2785.116. 有更新吗?