フォーム要素にフォーカスが与えられたときにフッターを非表示にしようとしています。また、フォーム要素がフォーカスを失ったときにフッターを表示したいと思います。これは、blurイベントが処理する必要があります。jQueryMobileのselectmenuフォーム要素でフォーカスまたはブラーイベントを発生させることができません。
これが私のフォーム要素の1つの例です-
<select id="radiology-study-provider" class="selectList"></select>
これは、フォーカスでフッターを非表示にし、ぼかしで表示することになっているjQueryコードです(DOMの準備ができています)-
$('.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
});
変更イベントハンドラーが起動するのに、フォーカスとブラーが起動しないのは奇妙です。
私はこれを以下で試しましたが、機能しません-
$('.selectList').on('focus', function(){
$('div:jqmData(role="footer")').hide(); // hide the footer
});
$('.selectList').on('blur', function(){
$('div:jqmData(role="footer")').show(); // show the footer
});
私もこれを試しました-
$('.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
});
また、focusin()イベントとfocusout()イベントも試してみましたが、運が悪かったです。何十ものセレクターを試しました(div.ui-selectはそのうちの1つでした)。使用しているセレクターの問題ではないと思います。
私はjQueryMobile1.1.0とjQuery1.7.1を使用しています-http://jquerymobile.com/test/docs/forms/selects/events.htmlでjQueryMobileselectmenuのドキュメントを確認し、Googleと話し、ここで検索しました、およびこの問題を見つけることができません。