Próbuję ukryć stopkę, gdy fokus ma fokus. Chcę również wyświetlać stopkę, gdy element formularza straci ostrość, którą powinno obsługiwać zdarzenie blur. Nie mogę uzyskać fokusu lub rozmycia zdarzenia w celu uruchomienia elementu formularza jQuery Mobile selectmenu.Zdarzenie jQuery Mobile selectmenu fokus i rozmycie nie zostanie uruchomione.
Oto przykład jednego z moich elementów formularza -
<select id="radiology-study-provider" class="selectList"></select>
Oto kod jQuery, która ma ukryć moje stopki na ostrości i pokazać go na rozmycie (jest wewnątrz DOM gotowy) -
$('.selectList').change(function(){
console.log("the change event is firing");
});
$('.selectList').focus(function(){
$('div:jqmData(role="footer")').hide(); // hide the footer
});
$('.selectList').blur(function(){
$('div:jqmData(role="footer")').show(); // show the footer
});
To dziwne, że funkcja obsługi zdarzenia zmiany jest uruchamiana, ale ostrość i rozmycie nie będą wykonywane.
Próbowałem to poniżej i to nie zadziała -
$('.selectList').on('focus', function(){
$('div:jqmData(role="footer")').hide(); // hide the footer
});
$('.selectList').on('blur', function(){
$('div:jqmData(role="footer")').show(); // show the footer
});
Próbowałem też to -
$('.selectList').bind("focus", function(event, ui) {
$('div:jqmData(role="footer")').hide(); // hide the footer
});
$('.selectList').bind("blur", function(event, ui) {
$('div:jqmData(role="footer")').hide(); // hide the footer
});
Próbowałem też focusIn() i focusOut() zdarzenia bez powodzenia zarówno. Próbowałem kilkudziesięciu selektorów (div.ui-select był jednym z nich). Nie sądzę, że jest to problem z selektorem, którego używam.
Używam jQuery Mobile 1.1.0 i jQuery 1.7.1 - Sprawdziłem dokumentację jQuery Mobile pod adresem http://jquerymobile.com/test/docs/forms/selects/events.html, rozmawiałem z wyszukiwarką Google, szukałem tutaj i nie mogę znaleźć tego problemu.
Hej mat, czy twoja metoda zmiany '$ ('. SelectList'). Change' działa co najmniej? – Littm
Tak, zostanie wywołane zdarzenie zmiany. – Ross