「ul」と「li」でコード化されたhtmlでカスタマイズされたドロップダウンがあり、ユーザーが「ul」の頭をクリックするとオプションが表示されます。ユーザーがメニュー領域の外をクリックすると、これらの要素を非表示にしたいと思います。
Jqueryではなくjavascript/YUIでこのようなことは可能ですか?
「ul」と「li」でコード化されたhtmlでカスタマイズされたドロップダウンがあり、ユーザーが「ul」の頭をクリックするとオプションが表示されます。ユーザーがメニュー領域の外をクリックすると、これらの要素を非表示にしたいと思います。
Jqueryではなくjavascript/YUIでこのようなことは可能ですか?
私は YUI 派ではないので、これはもう少しうまく書けると思いますが、テストしたところうまくいきました。
ドキュメントがクリックされるたびにドロップダウンを非表示にします。
Y.one(document).on("click", function(){
Y.one("#menu").hide();
});
のクリックが にul
伝播するのを防ぎますdocument
:
Y.one("#menu").on("click", function(e){
e.stopPropagation();
});
訪問者がどこかをクリックすると、クリックが にバブルアップしdocument
、メニューが非表示になります。メニューをクリックすると、イベントが にバブリングされdocument
なくなり、メニューが非表示になりません。
use('event-outside')
「外部」イベントのサポートを追加します。詳細については、ユーザー ガイドを参照してください: http://yuilibrary.com/yui/docs/event/outside.html