2012-02-17 3 views
4

ユーザーが複数選択のボックスを閉じるかどうかを確認するにはどうすればよいですか?jQuery Mobileの複数の選択ボックスでonCloseをトリガーする方法

jQuery Mobile Docsには何もありません。

私はonCloseイベントのようなものを探しています。

私はすでにselectでonBlurを設定しようとしましたが、動作しませんでした。

ありがとうございました。

$(document).delegate('.ui-selectmenu-screen', 'click', function() { 

    //find the select and trigger a `close` event since the overlay was clicked 
    $(this).prev().find('select').trigger('close'); 
}).delegate('.ui-select', 'click', function() { 

    //find the select and trigger an `open` event since the menu was clicked 
    $(this).find('select').trigger('open'); 
}); 

私はウィジェットのX(閉じる)ボタンにバインドするために正確にどのように把握することができませんでしたが、私はあなたの確信している:

答えて

0

あなたは、任意の特定のUXは、.trigger()カスタムイベントを発生することができたときにカスタムイベントをトリガーすることができます。あなたは今select要素のopencloseイベントのイベントハンドラを登録することができます上記のコードを使用して

http://jsfiddle.net/AaKnG/

+0

コンソールはそれらのすべてを記録しませんでした。ここで

$(document).delegate('#select-choice-9', 'open close', function (event) { console.log(event.type); }); 

はデモです私のためのイベント – shanabus

+0

@shanabusあなたはどんなブラウザを使っていますか?私は、Chrome 17、Firefox 10、IE 9/8/7、Opera 11、Safari 5でテストしました。あなたは 'open'と' close'イベントを見ているは​​ずです...更新されたJSFiddleがあります:http:// jsfiddle .net/AaKnG/1 /。唯一の違いは通知が '警告 'によって行われるため、あなたはそれを見逃すことができないということです。また、これは、ウィジェットが開かれたときだけ 'open'イベントを発生させ、(' X'ボタンをクリックするのではなく)ウィジェットの外側をクリックすることによってウィジェットが閉じられる 'close'イベントを発生させることに注意してください。 Chrome 18の – Jasper

+0

では、 'open'アラートのみが発生します。 – shanabus

関連する問題