onClick nie działa na urządzeniach mobilnych (touch)
Ok, co im próbuje zrobić, to przesuwać div w dół, gdy użytkownik kliknie element listy.
Problem polega na tym, że używam Selectric https://github.com/lcdsantos/jQuery-Selectric {[5] } który konwertuje pole wyboru na listę nieuporządkowaną. Więc kiedy użytkownik kliknie, które źródło wyprowadza jako element listy, chcę, aby div zsunął się w dół.
W mobilnej przeglądarce safari (iOS7) interfejs selectbox jest taki sam jak standardowy interfejs selectbox.
Jaka jest najlepsza praktyka, jeśli chodzi o onClick dla urządzeń mobilnych urządzenia?
Basic jquery:
$(window).load(function() {
$('.List li').click(function() {
$('.Div').slideDown('500');
});
});
Możesz zobaczyć działający przykład tutaj (Wyszukiwanie zaawansowane na pasku bocznym)
Dzięki.2 answers
Lepiej użyć zdarzenia touchstart
z metodą .on()
jQuery:
$(window).load(function() { // better to use $(document).ready(function(){
$('.List li').on('click touchstart', function() {
$('.Div').slideDown('500');
});
});
I nie rozumiem, dlaczego używasz metody $(window).load()
, ponieważ czeka ona na załadowanie wszystkiego na stronie, to zwykle jest powolne, podczas gdy możesz użyć metody $(document).ready()
, która nie czeka na załadowanie każdego elementu na stronie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-25 13:47:16
Możesz użyć zamiast kliknięcia:
$('#whatever').on('touchstart click', function(){ /* do something... */ });
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-25 13:42:55