【问题标题】:angularjs onload click on table column fieldangularjs onload 点击表格列字段
【发布时间】:2025-12-01 11:00:02
【问题描述】:

进入编辑页面时,我在单击行元素字段时遇到问题。 在编辑页面上,我有表格,在表格中的每个名称上,我添加了 id,它实际上是该行数据的 ID

<tr ng-repeat="row in $data" ng-class="{clicked: row._id == rowClicked}"">
   <td data-title="'Name' | translate" sortable="'name'" id="{{row._id}}"
       ng-click="populateDivisionServices(row)" 
      class="nameCursor">
      {{row.name | ci18n}}
   </td>

加载编辑页面我把这个

$scope.$on('$stateChangeSuccess', function () {
  $timeout(function() {
    angular.element(document.getElementById($scope.division._id)).triggerHandler('click');
  }, 0);
});

$scope.$on('$stateChangeSuccess', function () {
  $timeout(function() {
    angular.element(document.getElementById($scope.division._id)).triggerHandler('click');
  }, 500);
});

$scope.$on('$stateChangeSuccess', function () {
    angular.element(document.getElementById($scope.division._id)).triggerHandler('click');
});

但是没有任何效果,我通过控制台进行调试,它进入了这个功能,但它没有点击这个名字,因为当它点击名字时它应该被突出显示。

【问题讨论】:

    标签: javascript angularjs angular-ui-router


    【解决方案1】:

    只需从控制器调用函数:

    var row = $scope.$data.find(_ => _._id == $scope.division._id);
    $scope.populateDivisionServices(row);
    

    无需使用.triggerHandler调用函数。

    【讨论】: