Javascript 如何以编程方式触发角度带B选择
我正在使用angularstrap的bs select做一个下拉列表选择。我想用JavaScript编程触发下拉列表按钮。 这是普朗克: 我想用这个按钮来触发下拉列表。我尝试了三种方法:Javascript 如何以编程方式触发角度带B选择,javascript,angularjs,angularjs-directive,angular-strap,Javascript,Angularjs,Angularjs Directive,Angular Strap,我正在使用angularstrap的bs select做一个下拉列表选择。我想用JavaScript编程触发下拉列表按钮。 这是普朗克: 我想用这个按钮来触发下拉列表。我尝试了三种方法: angular.element(document.querySelector(“#test1”)).triggerHandler('click') 它与元素一起使用ng click。但在bs select中不起作用 document.getElementById(“test1”)。单击() 仍然不适用于tri
angular.element(document.querySelector(“#test1”)).triggerHandler('click')代码>
ng click
。但在bs select中不起作用
document.getElementById(“test1”)。单击()代码>
仍然不适用于triggerHandler('click')
angular.element(document.querySelector(“#test1”)).triggerHandler('click');
$scope.$apply()
我认为这将是范围需要再次消化的问题,但事实并非如此
在角带中,bs选择代码如下所示:
$select.$onMouseDown = function(evt) {
// Prevent blur on mousedown on .dropdown-menu
evt.preventDefault();
evt.stopPropagation();
// Emulate click for mobile devices
if(isTouch) {
var targetEl = angular.element(evt.target);
targetEl.triggerHandler('click');
}
};
鼠标按下时,会触发单击此按钮。那我该怎么办呢
谢谢你的回复。我在AngularStrap上也遇到过类似的问题。这些指令上有一个名为trigger
的配置选项,可选值为manual
。这是我们需要利用的配置选项,以实现我们想要的
问题是,没有任何关于这个用法的文档。因为在你提到的评论中,你是开放使用的,经过很多努力,我找到了一个解决方案来让它工作。观察这个下拉列表的实现
<button ng-model="expression" intellisense bs-dropdown="values" bs-show="drop">dropdown</button>
您将注意到元素上的bs show
属性。这是基于true
或false
值触发拖放的绑定。让我们将其与另一个元素绑定ng单击event
<button ng-click="fireDropDown()">Manually Drop</button>
我试着对一个bsselect
做同样的操作,但是(毫不奇怪)它不起作用。这里有一些额外的资源可以帮助您完成这项任务
-手动触发下拉菜单
-所以我在这个问题上绞尽脑汁的时候问了这个问题
-修复本应修复此问题的修复。不确定为什么修复程序没有跨越所有指令,包括bs-select
我遇到过类似的问题。这些指令上有一个名为trigger
的配置选项,可选值为manual
。这是我们需要利用的配置选项,以实现我们想要的
问题是,没有任何关于这个用法的文档。因为在你提到的评论中,你是开放使用的,经过很多努力,我找到了一个解决方案来让它工作。观察这个下拉列表的实现
<button ng-model="expression" intellisense bs-dropdown="values" bs-show="drop">dropdown</button>
您将注意到元素上的bs show
属性。这是基于true
或false
值触发拖放的绑定。让我们将其与另一个元素绑定ng单击event
<button ng-click="fireDropDown()">Manually Drop</button>
我试着对一个bsselect
做同样的操作,但是(毫不奇怪)它不起作用。这里有一些额外的资源可以帮助您完成这项任务
-手动触发下拉菜单
-所以我在这个问题上绞尽脑汁的时候问了这个问题
-修复本应修复此问题的修复。不确定为什么修复程序没有跨越所有指令,包括bs-select
我终于找到了解决方法。这是普朗克:
应该是
triggerHandler('mousedown')
在angular strap中,它使用onMouseDown作为事件处理程序,因此在触发器处理程序中,我不应该使用triggerHandler(“单击”)。相反,我应该使用triggerHandler('mousedown')来触发事件。现在它可以工作了。我终于想出了如何处理这个问题。这是普朗克:
应该是
triggerHandler('mousedown')
在angular strap中,它使用onMouseDown作为事件处理程序,因此在触发器处理程序中,我不应该使用triggerHandler(“单击”)。相反,我应该使用triggerHandler('mousedown')来触发事件。现在它可以工作了。如果您使用jquery,那么只需使用$(targetEl)。trigger('click')
@pankajparkar angular strip不是我的代码。我正在使用这个角带库进行一些开发。因为我使用的是angular,所以我没有使用jquery。@Gabriel你愿意使用angular strap下拉菜单吗?@salniro是的,但我也在执行一个遍历指令,在该指令内,下拉菜单将被触发programmatically@Gabriel我已尽我所能回答了这个问题。我也经历了同样的事情,这个问题引起了一段时间的悲痛。我有很多发现,最好的解决方法是使用下拉列表。请让我知道这是否有帮助?如果您使用jquery,那么只需使用$(targetEl)。触发器('click')
@pankajparkar angular strip不是我的代码。我正在使用这个角带库进行一些开发。因为我使用的是angular,所以我没有使用jquery。@Gabriel你愿意使用angular strap下拉菜单吗?@salniro是的,但我也在执行一个遍历指令,在该指令内,下拉菜单将被触发programmatically@Gabriel我已尽我所能回答了这个问题。我也经历了同样的事情,这个问题引起了一段时间的悲痛。我有很多发现,最好的解决方法是使用下拉列表。请让我知道这是否有帮助?如果您使用jquery,那么只需使用$(targetEl)。触发器('click')
@pankajparkar angular strip不是我的代码。我正在使用这个角带库进行一些开发。因为我使用的是angular,所以我没有使用jquery。@Gabriel你愿意使用angular strap下拉菜单吗?@salniro是的,但我也在执行一个遍历指令,在该指令内,下拉菜单将被触发programmatically@Gabriel我已尽我所能回答了这个问题。我也经历了同样的事情,这个问题引起了一段时间的悲痛。我有很多发现和解决方法