{Aejs 整備}{希哲16年3月19日の開発}{希哲16年3月19日の進捗}{恐らくは}{同一事象}{`@tgt_evt.bld..off()`}{以前にもあった}{単純な仕組み}{加えたくない}{論理的欠陥}...=}(76)

{希哲16年3月19日3歩 K#F85E/A-E74C-D3A4}

Aejs 整備

途中で終了

昨日ボタン要素分類名置換した時に上手く事象処理出来ないという問題少し時間を取られたが,事象委譲元1つ組み合わせには1つの聴取子をあて,聴取子内で処理分けることにしていったん解決した

この問題は,以下のように,同一要素を指す .foo.bar発泡事象祖先要素 prn委譲した場合起こる

prn.on_clk( '.foo', fn_foo )
   .on_clk( '.bar', fn_bar );

この時,fn_foo() 内で .foo.bar遅延なく)置換すると,.barclick 事象向け聴取子実行されてしまう恐らくは発泡捕捉した時点での分類名だから?)似たような問題以前にもあったが,未解決だった希哲14年10月27日16歩

最初は不可解な現象だったが,だんだん Aejs の事象委譲原因があることが分かってきた。ただ,久しぶりに @tgt_evt.bld..on()読み直したものの,目立った論理的欠陥無かった捕捉した事象判定をしているだけの単純な仕組みなので,同一事象同一要素に対して聴取子分ける使い方自体が問題のような気がしてきた大張り考える余計な処理加えたくない

そろそろ @tgt_evt.bld..off()追加してもいい頃だが,とりあえずは以下のように書き換えておくことにした。

prn.on_clk( '.foo, .bar', fn ( evt ) 
{
    if ( evt.tgt().b( '.foo' ) ) {
        // .foo 向け処理
    } else {
        // .bar 向け処理
    }
} );
=}
{途中で終了}

{}