簡體   English   中英

在ng-repeat上禁用ng-click

[英]Disable an ng-click on an ng-repeat

我已經閱讀了很多有關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}">

僅表單元素(文本框,按鈕等)可以在其上設置disabled屬性。

要禁用特定項目的點擊事件,請在點擊處理程序中檢查您的項目ID。

showAdvanced(itm) {
  if (itm.JobTypeId != -1) {
    // do something
  }
}

此外,您不應該在ng-click處理程序中調用多個函數。 制作一個單獨的單擊處理程序函數,然后從內部調用其他函數。

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

和...

onItemClicked(item) {
  if (itm.JobTypeId != -1) {
    showAdvanced(itm);
    setSelected(itm.JobTypeId);
  }
}

嘗試ng-class

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

的CSS

.disableClick {
    pointer-events: none;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM