Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何以编程方式触发角度带B选择_Javascript_Angularjs_Angularjs Directive_Angular Strap - Fatal编程技术网

Javascript 如何以编程方式触发角度带B选择

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

我正在使用angularstrap的bs select做一个下拉列表选择。我想用JavaScript编程触发下拉列表按钮。 这是普朗克:

我想用这个按钮来触发下拉列表。我尝试了三种方法:

  • 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我已尽我所能回答了这个问题。我也经历了同样的事情,这个问题引起了一段时间的悲痛。我有很多发现和解决方法