AngularJs ngclick在onchange之前触发

时间:2018-11-09 12:05:14

标签: javascript jquery angularjs autocomplete

在我的应用程序中,有两个元素。一个是自动完成元素,另一个是按钮。

我的问题是,在桌面Chrome中-jQuery onChange自动完成元素[#COUNTRY_LIST]会在按钮ng-click下方触发。但在Android移动浏览器中,先单击ng-click并调用onChange。有什么方法可以阻止ng-click触发时的onChange。

“自动完成”元素,其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

    });
});

下一步按钮元素

<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
}

1 个答案:

答案 0 :(得分:0)

尝试使用Typeahead(ui.bootstrap.typeahead)。 Refer Docs