use*_*507 13 select triggers angularjs
有没有人知道是否可以在angularjs中以编程方式打开选择.我试过了
angular.element(el).trigger('focus');
angular.element(el).trigger('click');
angular.element(el).trigger('mousedown');
Run Code Online (Sandbox Code Playgroud)
什么都行不通.
我也试过了
$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);
}
Run Code Online (Sandbox Code Playgroud)
以上设置焦点但不要打开选择.
可能吗?
小智 -8
我遇到了同样的问题,最后我创建了自己的指令:
\n\nangular.module(\'openselect\', [])\n .directive(\'openselect\', function () {\n var showDropdown = function (element) {\n var event;\n event = document.createEvent(\'MouseEvents\');\n event.initMouseEvent(\'mousedown\', true, true, window);\n element.dispatchEvent(event);\n };\n return {\n restrict: \'A\',\n scope: {\n \'elemento\': \'@\'\n },\n link: function (scope, elem, attrs, ctrl) {\n elem.bind(\'click\', function () {\n var elemento = document.getElementById(scope.elemento);\n showDropdown(elemento);\n });\n }\n };\n });\nRun Code Online (Sandbox Code Playgroud)\n\n使用方法:
\n\n<div style="position:relative">\n<span ng-show="submittedForm.contry.$error.required && co_form.contry.$error.required" class="label label-danger">Indicanos tu pa\xc3\xads</span>\n<select name="country" class="form-control input-md" ng-model="formCheckout.country" id="myCountry" placeholder="Espa\xc3\xb1a" required>\n <option value="6" selected="selected">Espa\xc3\xb1a</option>\n <option value="1">Alemania</option>\n <option value="15">Portugal</option>\n</select>\n<span class="glyphicon glyphicon-chevron-down" style="position: absolute; right: 10px; color: #A6A6A6; top: 18px;" openselect elemento="myCountry"></span>\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n将指令添加到任何标记,传递您要打开的 select (elemento) 的 id。
\n\n如果您想在其他上下文中使用,您可以在指令中查看非常基本的 javscript 代码;
\n\n希望有帮助;D
\n| 归档时间: |
|
| 查看次数: |
10177 次 |
| 最近记录: |