Elemen yang dinonaktifkan "memakan" klik di beberapa browser - mereka tidak meresponsnya, atau membiarkannya ditangkap oleh penangan acara di mana pun baik pada elemen atau salah satu wadahnya.
IMHO cara termudah dan terbersih untuk "memperbaiki" ini (jika Anda memang perlu menangkap klik pada elemen yang dinonaktifkan seperti OP) adalah hanya dengan menambahkan CSS berikut ke halaman Anda:
input[disabled] {pointer-events:none}
Ini akan membuat klik pada input yang dinonaktifkan jatuh ke elemen induk, di mana Anda dapat menangkapnya secara normal. (Jika Anda memiliki beberapa input yang dinonaktifkan, Anda mungkin ingin memasukkan masing-masing ke dalam wadah tersendiri, jika belum ditata seperti itu - tambahan <span>
atau <div>
, katakanlah - hanya untuk memudahkan membedakan input yang dinonaktifkan mana yang diklik).
Kelemahannya adalah bahwa trik ini sayangnya tidak akan berfungsi untuk browser lama yang tidak mendukung pointer-events
properti CSS. (Ini harus bekerja dari IE 11, FF v3.6, Chrome v4): caniuse.com/#search=pointer-events
Jika Anda perlu mendukung browser lama, Anda harus menggunakan salah satu jawaban lain!