简体   繁体   English

AngularJs ngclick在onchange之前触发

[英]AngularJs ngclick fires before onchange

In my application, there are two elements. 在我的应用程序中,有两个元素。 one is autocomplete element and another one is button. 一个是自动完成元素,另一个是按钮。

My problem is, In desktop chrome - jquery onChange of autocomplete element [#COUNTRY_LIST] fires below button ng-click. 我的问题是,在桌面Chrome中-自动完成元素[#COUNTRY_LIST]的jon onChange会在按钮ng-click下方触发。 but in Android mobile chrome, ng-click fires first and calls onChange. 但在Android移动浏览器中,先单击ng-click并调用onChange。 Is there any way to prevent onChange when ng-click fires. 有什么方法可以防止ng-click触发时的onChange。

Auto Complete element and its ID is COUNTRY_LIST 自动完成元素,其ID为COUNTRY_LIST

<input type="text" ng-model="data.ctList" id="COUNTRY_LIST" placeholder="Key in to auto search"/>

$(document).on("change","#COUNTRY_LIST", function (e) {
   var $scope = angular.element(document.getElementById("DATA")).scope();
    $scope.$apply(function() {
        // make clear selected country list

        // In desktop chrome - this function calls before COUNTRY_LIST change
        // In Android mobile chrome - this function calls afterCOUNTRY_LIST change

    });
});

Next Button element 下一步按钮元素

<button type="button" ng-click="callNext()">Next</button>

$scope.callNext= function() {
    // In Android mobile chrome - this function calls before COUNTRY_LIST change
    // In desktop chrome - this function calls after COUNTRY_LIST change
}

Try using Typeahead (ui.bootstrap.typeahead). 尝试使用Typeahead(ui.bootstrap.typeahead)。 Refer Docs 参考文件

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM