Wykrycie kliknięcia w nieaktywny przycisk

0

Witam.

W jaki sposób mogę wykryć kliknięcie w przycisk (input button) który jest nieaktywny (disabled)?

Takie coś nie działa:
https://jsfiddle.net/eruoqsm2/

0

W teorii nie możesz tego zrobić, gdyż drzewo DOM blokuje zdarzenie kliknięcia na zablokowanym elemencie.
A w praktyce.. spróbuj objąć przycisk jakimś kontenerem i na niego nałożyć zdarzenie kliknięcia, np.

<div id="przycisk">
 <button disabled="disabled">Kliknij mnie!</button>
</div>
<script type="text/javascript">
$(document).ready(function(){
 $("#przycisk").click(function(){ alert("Kliknięty!"); });
});
</script>
0

Niestety nie działa to rozwiązanie https://jsfiddle.net/eruoqsm2/

0

Hmm, nie pomyślałem o dość podstawowej rzeczy - element potomny będzie nad elementem-rodzicem. :P
Jedyne rozwiązanie problemu, jakie przychodzi mi teraz do głowy to utworzenie elementu overlay na absolucie:

<div id="overlay" style="display: table;"></div>
<button disabled="disabled">Kliknij mnie!</button>
#overlay{
    position: absolute;
    z-index: 999;
    width: 100px;
    height: 30px;
}
$("#przycisk").click(function(){
   alert("Kliknięty"); 
});

To samo na JSFiddle: https://jsfiddle.net/eruoqsm2/5/

W praktyce mógłbyś napisać skrypt przy użyciu jQuery, który dla każdego (potrzebnego) przycisku z atrybutem disabled tworzyłby overlay (dopasowując automatycznie jego rozmiar do wymiarów i położenia przycisku).

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0