2

「ul」と「li」でコード化されたhtmlでカスタマイズされたドロップダウンがあり、ユーザーが「ul」の頭をクリックするとオプションが表示されます。ユーザーがメニュー領域の外をクリックすると、これらの要素を非表示にしたいと思います。

Jqueryではなくjavascript/YUIでこのようなことは可能ですか?

4

2 に答える 2

4

私は YUI 派ではないので、これはもう少しうまく書けると思いますが、テストしたところうまくいきました。

ドキュメントがクリックされるたびにドロップダウンを非表示にします。

Y.one(document).on("click", function(){
    Y.one("#menu").hide(); 
});

のクリックが にul伝播するのを防ぎますdocument:

Y.one("#menu").on("click", function(e){
    e.stopPropagation();    
});

訪問者がどこかをクリックすると、クリックが にバブルアップしdocument、メニューが非表示になります。メニューをクリックすると、イベントが にバブリングされdocumentなくなり、メニューが非表示になりません。

デモ: http://jsfiddle.net/nHnZT/

于 2012-05-25T04:48:11.050 に答える
2

use('event-outside')「外部」イベントのサポートを追加します。詳細については、ユーザー ガイドを参照してください: http://yuilibrary.com/yui/docs/event/outside.html

于 2012-05-25T18:07:30.260 に答える