Pracuję nad czymś, co wymaga użycia spacji, aby wywołać zdarzenie. To, nad czym pracuję, jest znacznie bardziej złożone, ale uprościłem je do podstaw, jako przykład tego, co musiałem zrobić.jak zapobiec domyślnemu naciśnięciu klawisza dla określonego zdarzenia, a następnie przywrócić domyślne ustawienie ponownie
Chodzi o to, że kiedy spacja jest przytrzymana, podświetla ten element div i gdy jest puszczony, un-highlights. Miałem problem z tym, że kiedy naciskałem spację, domyślnie ustawiałem przesuwanie paska w dół etapami. Aby sobie z tym poradzić, próbowałem dodać domyślne zabezpieczenie, a następnie skończyłem używając return false.
To było wspaniałe ... dopóki nie zdałem sobie sprawy, że kiedy testowałem wpisywanie w pola tekstowe pola wejściowego, odebrałem sobie możliwość wstawienia spacji podczas pisania.
Co myślę, że potrzebne jest albo:
- Do (aś) Zapobiegaj domyślne lub return false jakoś mam po zakończeniu pracy, chociaż nie mogłem zorientować się, jak to zrobić, ponieważ Potrzebowałem tej funkcji, aby była dostępna na całej stronie.
- Zatrzymaj spację, aby przewinąć stronę w dół po przytrzymaniu, ale nadal pozostawiasz spację podczas pisania tekstu.
Naprawdę nie jestem pewien, jak to zrobić.
Oto kod używam do tego przykładu:
HTML
<div class="container">
<div class="moo">I am moo</div>
<input/>
</div>
CSS:
.container {
height:9000px;
}
.moo {
border:1px solid black
}
.red {
background:red;
}
input {
margin-top:30px;
}
SCENARIUSZ:
$(document).keydown(function(e) {
if(e.keyCode === 32) {
$('.moo').addClass('red');
//event.preventDefault();
//event.stopPropagation();
return false;
}
else {
$('.moo').removeClass('moo');
}
});
$(document).keyup(function(e) {
if(e.keyCode === 32) {
$('.moo').removeClass('red');
event.stopPropagation();
}
});
to świetnie! Chociaż jeden problem. Zdarzenie musi być uruchomione tak długo, jak długo spacja jest przytrzymywana, a następnie po zwolnieniu usuwa klasę. –
Genialny! to działa idealnie !! Jedną z drobnych rzeczy jest to, że kluczem do pobrania musiałby być addClass i bottom removeClass, ale to po prostu idealne. Dziękuję bardzo!!! –
Anytime ... happy coding .. :) –