我禁用包含文本框和按鈕控件的div。當文本框被禁用時,按鈕不會被禁用。 下面是JavaScript代碼來禁用,我在頁面加載調用CSS禁用屬性不禁用按鈕
document.getElementById("MainContent_TabContainer1").disabled = true;
TabContainer的基本上是一個AJAX TabContainer的,向各股利和它的ID成爲MainContent_TabContainer1
請建議。
我禁用包含文本框和按鈕控件的div。當文本框被禁用時,按鈕不會被禁用。 下面是JavaScript代碼來禁用,我在頁面加載調用CSS禁用屬性不禁用按鈕
document.getElementById("MainContent_TabContainer1").disabled = true;
TabContainer的基本上是一個AJAX TabContainer的,向各股利和它的ID成爲MainContent_TabContainer1
請建議。
檢查以下問題的答案 here
只是掩蓋一個div到父DIV。簡單而簡單。
我會一類設置的按鈕,呼叫getElementsByClassName方法,並遍歷結果,設定每一個殘疾人
我做了一個jsFiddle來證明這一點。
HTML:
<div id='hold'>
<button class='btn'>Click Me</button>
<button class='btn'>Click Me</button>
<button class='btn'>Click Me</button>
<div class='btn'>Click Me</div>
</div>
JS:
var buttons = document.getElementsByClassName("btn");
for (var x=0;x<buttons.length;x++) {
buttons[x].disabled = true;
buttons[x].style.pointerEvents = 'none'; //disables div buttons
}
這不是一個傻瓜證明解決方案。我試了一下,它留下了一些具有onclick事件的div(用作按鈕)。最好的方法是用文檔掩碼來掩蓋它 – user2861226 2014-09-07 06:35:31
哦,在這種情況下,我會使用'ele.style.pointerEvents ='none''。但是,對於他自己的 – J148 2014-09-07 20:16:44
1)如果你不使用IE瀏覽器來運行這個項目,你可以使用下面的解決方案: - - 與更換 'DIV' 'fieldset'並禁用'fieldset'將會禁用裏面的所有輸入和按鈕
<fieldset id="parent" >
<button class='btn' onClick="myFunction()">Click Me</button>
<input type="text"/>
</fieldset>
<script>
function myFunction() {
document.getElementById("parent").disabled = true;
}
2)要禁用父DIV
<div id="parent" >
<button class='btn' onClick="myFunction()">Click Me</button>
<input type="text"/>
<input type="text"/>
</div>
<script>
function myFunction() {
var myDiv = document.getElementById("parent");
var inputArr = myDiv.getElementsByTagName("input");
for (var i = 0; i < inputArr.length; i++)
inputArr[i].disabled = true;
var btnArr = myDiv.getElementsByTagName("button");
for (var i = 0; i < btnArr.length; i++)
btnArr[i].disabled = true;
}
</script>
注內的每個輸入和按鈕:只是爲了顯示的無效,該功能被綁定到本按鈕在父DIV
以下JavaScript代碼將完成你的任務
var nod = document.getElementById("MainContent_TabContainer1").getElementsByTagName('*');
for (var i = 0; i < nod.length; i++) {
nod[i].disabled = true;
}
如果你想要做的jQuery這份工作,那麼你可以寫下面的代碼
$("#MainContent_TabContainer1 *").attr("disabled", "disabled").off('click');
它不適用於具有onclick屬性和錨定標記的div。但感謝您的建議。我發現實現它的最好方法是用另一個div屏蔽父div – user2861226 2014-09-02 14:54:20
您是否嘗試過將pointerEvents設置爲none? – J148 2014-09-01 16:57:46
我有很多控件,並且爲所有控件設置指針事件屬性是不現實的。此外,該方案就像在我的應用程序中的用戶沒有登錄時,我想禁用整個頁面,而如果登錄的東西將處於正常狀態,並且所有按鈕都應該是可點擊的。 – user2861226 2014-09-01 17:02:37
我敢肯定,你不能禁用DIV:http://www.w3.org/TR/html5/disabled-elements.html你可能需要遍歷它包含的元素。 – 2014-09-01 17:04:35