0

良い一日!

YUI3 Widget-parentとwidget-childを使用して階層ウィジェットを構築しようとしていますが、現在、階層リストボックスウィジェットを学習しています

クリックされた特定の子のクリックイベントのみをサブスクライブしたい。上記のページの使用例を続けて、私は次のことを行っています。

listbox.on("listbox:click", function(e) {...});

リストの「アイテム3〜2」エントリをクリックすると、このイベントが「アイテム3〜2」、「アイテム3」、およびルートウィジェットに対して発生します。そのイベントハンドラー内で、e.targetがクリックした元のウィジェットなのか、その親のウィジェットなのかを判断する方法が見つかりませんでした。

だから私の質問は:

  1. クリックされた元のウィジェットのイベントハンドラーにいることをどのように確認できますか?
  2. クリックされたウィジェットをイベントを発生させる唯一のウィジェットにすることは可能ですか?

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

4

1 に答える 1

1

これがフィドルの例です。

葉ノードをe.target使用するだけの場合:

listbox.on('option:click', function (e) {...

listbox:click私の例では、実際にサブスクライブしてもリーフ ノードは取得されませんが、2 つの親listbox先祖ウィジェットのクリックは取得されます。

于 2012-04-09T15:20:39.357 に答える