angularjs - 如何以编程方式打开选择

标签 angularjs select triggers

有谁知道是否可以在 angularjs 中以编程方式打开选择。我试过了

angular.element(el).trigger('focus');
angular.element(el).trigger('click');
angular.element(el).trigger('mousedown');

没有任何作用。

我也尝试过

$scope.doSomething = function(){
    setTimeout(function() {
        var el = document.getElementById('test');
        var e = document.createEvent("MouseEvents");
        e.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
        worked = el.dispatchEvent(e);
    }, 0);

}

上面设置焦点但不打开选择。

可能吗?

最佳答案

试试这个悬停:

JS:

$(document).ready(function(){
$("#selectId").hover(function(){
   $(this)[0].size=$(this).find("option").length;
});
$("#selectId").click(function(){
   $(this)[0].size=0;
});
});

HTML:

<select id="selectId">
  <option>Volvo</option>
  <option >Saab</option>
  <option>Mercedes</option>
  <option>Audi</option>
</select>

关于angularjs - 如何以编程方式打开选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23609105/

相关文章:

javascript - 重定向到 ng-click 上的页面

javascript - 尝试使用 Angular 从 REST 调用填充下拉列表

javascript - angularjs ng-options 嵌套变量

mysql - 如何使我的 SELECT 查询更有效率?

大于条件的mysql触发器

Oracle:如何在不延迟插入响应的情况下执行插入触发器?

javascript - 动态ng-click不调用函数

javascript - 如何在 AngularJS 中使用 ng-repeat 插入 html 代码?

c++ - 如何在一次只允许 1 个选定项目的 ListView 中选择一个项目

sql - 如何在子触发器中访问父表的已删除行