0

これを見てくれてありがとう。

基本的に、didInsertElement()を呼び出して、イベントをDOMにバインドしています$(document).on(...)

私は礼儀正しい開発者になり、$(document).off(...)willDestroyElementを使用して電話をかけようとしています。

ただし、複数のものがバインドされている可能性が$(document)あるため、削除する関数を指定する必要があります。私がこれを行うと、jQueryはEmberthisを独自のものでハイジャックしますHTMLElement

JsFiddle: http: //jsfiddle.net/brennan/H65Ax/

これを行うためのより良い方法はありますか?

4

1 に答える 1

1

次のようにコードを変更します。

didInsertElement: function(){
    var self = this;
    //storing `click` handler on new property `addedListener`
    $(document).off('click', self.addedListener = function(){
        self.set('isActive', false);
    });
},
willDestroyElement: function(){
    var self = this;
    $(document).off('click', self.addedListener);
},
于 2012-06-22T18:03:57.090 に答える