亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 jQuery(或 js)禁用非輸入元素?

如何使用 jQuery(或 js)禁用非輸入元素?

月關寶盒 2023-10-20 15:38:20
我試圖在請求發生時禁用一堆元素(具有 onClick 和其他自定義事件的 div)。我嘗試過:$("selector").children().prop("disabled", true);還帶有:$("selector").children().attr("disabled", true);還帶有:$("selector").children().attr("disabled", "disabled");這些都不起作用,這意味著即使在禁用后它們仍然保留其功能。為了確認我實際上能夠定位我測試的所有所需元素:$("selector").children().css({backgroundColor: "black"});所有元素都變成黑色,因此目標是正確的。我對有關如何禁用元素的任何其他建議持開放態度,基本上這些是不應單擊的 div(還有其他感興趣的事件,而不僅僅是 ),click在請求期間,一旦單擊了 div,即為什么我嘗試暫時禁用它們,并在收到響應后再次重新啟用它們。
查看完整描述

1 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

disabled屬性僅適用于輸入元素,例如<input><button>例如。它不適用于某些<div><li>樣式看起來像按鈕或輸入(可能是可編輯的 div 內容)。

要禁用不是“真實”輸入元素的元素,您可以使用$("selector").children().css({pointerEvents: "none"});它將阻止該元素及其子元素上的所有事件,無論綁定的事件處理程序如何。

恢復:$("selector").children().css({pointerEvents: "initial"});

指針事件文檔




編輯以解決有關鍵盤事件的評論:

$("selector").children().prop("tabIndex",-1);將避免使用選項卡導航來訪問<input><button>。

選項卡索引文檔

但由于你的要素是<div>......我真的不認為這是相關的。但請嘗試一下,看看該附加代碼是否真的有必要,并隨時為未來的讀者發表評論。;)


查看完整回答
反對 回復 2023-10-20
  • 1 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號