我有一個(gè) div,其中有一個(gè)圖標(biāo),我向該 div 添加了禁用屬性,并且單擊事件仍然會(huì)觸發(fā)。所以我創(chuàng)建了 div 的副本并將其更改為按鈕。兩者都有點(diǎn)擊事件,但點(diǎn)擊時(shí)按鈕不會(huì)觸發(fā),但 div 會(huì)觸發(fā)。這是為什么,以及如何在單擊 div 時(shí)停止觸發(fā)單擊事件?我知道我可以在點(diǎn)擊事件期間檢查禁用屬性,但想知道為什么我必須這樣做以及為什么禁用屬性在 div 上不起作用$('#btn').on('click', function() { alert("clicked");});$('#btn1').on('click', function() { alert("clicked");});#btn { cursor: pointer;}#btn[disabled] { cursor: not-allowed;}#btn1 { cursor: pointer;}#btn1[disabled] { cursor: not-allowed;}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script><link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" /><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" /><div id="btn" class="disabled" disabled> <i class="fa fa-plus"></i></div><button id="btn1" class="fa fa-undo" disabled>click</button>
3 回答

哆啦的時(shí)光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
<div>沒(méi)有disabled屬性,點(diǎn)擊時(shí)必須檢查是否被禁用。
$('#btn').on('click', function() {
if (!$(this).prop("disabled"))
alert("clicked");
});

ABOUTYOU
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
禁用屬性在 上不起作用div。如果您堅(jiān)持不檢查屬性,可以使用:not()選擇器。
$('#btn:not(.disabled)').on('click', function() {
alert("clicked");
});
'#btn:not(.disabled)'查找具有 idbtn但不具有disabled類的元素。

手掌心
TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以使用以下 css 來(lái)禁用 div 元素上的單擊,因?yàn)?div 元素沒(méi)有禁用屬性:
pointer-events: none;
cursor: default;
希望這有幫助..謝謝
- 3 回答
- 0 關(guān)注
- 201 瀏覽
添加回答
舉報(bào)
0/150
提交
取消