[英]OnClick Event on a disabled input
<input>
標簽上有一個onclick
事件,該事件被禁用。 onclick
事件不起作用。 onclick
事件? input
工作但我需要與第二次input
相同,也與第一次input
相同。 (我需要調用函數Clicked
on input
only)。 我的代碼:
function Clicked(event) { alert(event.id) } function ClickedDisabled(event) { alert(event.ids) }
<input type="text" id="ID" onclick="Clicked(this)" /> <input type="text" id="IDs" onclick="ClickedDisabled(this)" disabled />
function Clicked(event) { alert(event.id) } function ClickedDisabled(event) { alert(event.id) }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <input type="text" id="ID" onclick="Clicked(this)" /> <span style="position:relative;"> <input type="text" id="IDs" disabled /> <div style="position:absolute; left:0; right:0; top:0; bottom:0; cursor: pointer;" id="IDs" onclick="ClickedDisabled(this)"></div> </span>
試試這可能會對你有所幫助
放
input[disabled] {pointer-events:none}
在您的CSS中(它可以防止某些瀏覽器完全放棄對已禁用輸入的點擊),並捕獲父元素上的點擊。 這是一個更清潔的解決方案,恕我直言,而不是在元素上放置透明覆蓋來捕獲點擊,並且根據情況也可能比使用CSS簡單地“模擬”禁用狀態容易得多(因為這不會阻止輸入提交,還需要覆蓋默認瀏覽器“禁用”樣式。
如果您有多個這樣的按鈕,則每個按鈕都需要一個唯一的父按鈕,以便能夠區分單擊了哪個按鈕,因為使用pointer-events:none
,單擊目標是按鈕的父按鈕而不是按鈕本身。 (或者你可以測試點擊坐標,我想......)。
但是,如果您需要支持舊版瀏覽器,請檢查哪些支持pointer-events
: http : //caniuse.com/#search=pointer-events
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.