禁用ng-repeat上的ng-click

时间:2017-09-18 21:00:03

标签: javascript angularjs

我已经阅读了一系列有关SO的问题,无论出于何种原因,所发布的解决方案都无效。我有一个项目列表,我ng-repeat,我想禁用两个项目被点击。

<tr ng-repeat="itm in jtc.jobTypes" ng-click="jtc.showAdvanced(itm); setSelected(itm.JobTypeId)" ng-disabled="itm.JobTypeId==-1" ng-class="{selected: itm.JobTypeId === idSelected}">

2 个答案:

答案 0 :(得分:2)

只有表单元素(文本框,按钮等)可以设置 var ImageHeader: UIImageView! let url = "https://i.pinimg.com/564x/f3/d6/71/f3d671c71d6f19d34f856103758ff203.jpg" ImageHeader.hnk_setImage(from: URL(string: url)) // error here tableView.estimatedSectionHeaderHeight = 40.0 self.automaticallyAdjustsScrollViewInsets = false let header = UIView(frame : CGRect(x : 0,y:0, width : tableView.frame.width , height : 100)) header.addSubview(ImageHeader) tableView.tableHeaderView = header 属性。

要禁用特定项目的点击事件,请检查点击处理程序中的项目ID。

disabled

此外,您不应该在showAdvanced(itm) { if (itm.JobTypeId != -1) { // do something } } 处理程序中调用多个函数。创建一个单独的单击处理函数,并从其中调用其他函数。

ng-click

和...

<tr ng-repeat="itm in jtc.jobTypes" ng-click="onItemClicked(itm)">

答案 1 :(得分:0)

尝试 ng-class

ng-class="(itm.JobTypeId==-1)?'disableClick':''"

<强> CSS

.disableClick {
    pointer-events: none;
}