Mettere
input[disabled] {pointer-events:none}
nel CSS (previene alcuni browser da scartare clic su un totale di ingressi disabili), e catturare il click su un elemento padre. È una soluzione più pulita, IMHO, che mettere una sovrapposizione trasparente sull'elemento per catturare il clic e, a seconda delle circostanze, può anche essere molto più semplice della semplice "simulazione" dello stato disabilitato usando CSS (poiché ciò non impedirà l'input dall'essere inviato e richiede anche l'override dello stile "disabilitato" del browser predefinito).
Se si dispone di più di questi pulsanti, sarà necessario un genitore univoco per ciascuno, in modo da poter distinguere il pulsante su cui è stato fatto clic, poiché con pointer-events:none
, la destinazione del clic è il padre del pulsante anziché il pulsante stesso. (Oppure potresti testare le coordinate del click, suppongo ...).
Se è necessario supportare i browser più vecchi, però, fare controllare quali supporto pointer-events
: http://caniuse.com/#search=pointer-events
non credo che l'evento click saranno licenziati su un controllo disattivato –
tutti gli eventi vengono rimossi per i controlli disabili –
allora perché si disabilitato – samba