2017-08-14 53 views
-6

我試過使用fieldset,但禁用僅輸入字段和剩餘下拉未禁用。有沒有解決我的問題?如何使Div在角js中禁用

+0

請發表您的代碼。展示你的嘗試 –

+0

發佈你的代碼你曾嘗試過嗎? –

+0

請首先閱讀[如何提問](https://stackoverflow.com/help/how-to-ask),以更好地形成您的問題。然後,爲了讓其他人能夠幫助您,請包括[最小,完整和可驗證的代碼示例](https://stackoverflow.com/help/mcve)或您嘗試解決該問題的任何內容。 –

回答

1

問題

我認爲你正在試圖做的是將一個條件對一個div,並且當該條件爲真,要禁用div和所有子元素。

爲使用ng-disabled這樣的禁用可以標記一個div:

<div ng-disabled="expression"> 
    <input type="text"> <!-- Won't be disabled! --> 
    <select> <!-- Also won't be disabled! --> 
     <option value="1">option 1</option> 
    </select> 
</div> 

然而,這並不傳播到子元素。

請參閱DOCO NG-禁用此:https://docs.angularjs.org/api/ng/directive/ngDisabled

解決方案

您必須將ng-disabled屬性添加到您希望禁用在div每個子元素。

<div> 
    <input type="text" ng-disabled="expression"> 
    <select ng-disabled="expression"> 
     <option value="1">option 1</option> 
    </select> 
</div> 

額外

保持在DIV的ng-disabled屬性禁用子元素必需的,但它可以作爲一個有用的CSS選擇器。

例如,您可能希望爲整個div設置不透明度。

<div class="special-div" ng-disabled="expression"> 
    <input type="text" ng-disabled="expression"> 
    <select ng-disabled="expression"> 
     <option value="1">option 1</option> 
    </select> 
</div> 

使用該CSS

div.special-div[disabled] { 
    opacity: 0.5; 
} 
1

嘗試此,

的document.getElementById( 「yourDivID」)style.pointerEvents = 「無」。


例如:

<div id="myDiv"> <h1>This is my division</h1> </div>

然後代碼將是如下:

document.getElementById("myDiv").style.pointerEvents = "none";