2

大量のフロントエンド コードを容赦なくリファクタリングする予定です。コードは勝手に追加され、機能は完全に書き直され、存在しない要素をリッスンするように設定された多くのイベントがあることがわかりました。

jQuery イベントを存在しない要素に関連付けるコードを見つける方法はありますか? すべてのコードを手動で実行せずに、使用されなくなったイベントを見つけたいと考えていました。

4

1 に答える 1

4

on考えられるデバッグ手順は、以下に示すようにデバッグ バージョンでメソッドをオーバーライドすることです。要素セットが空の場合のイベント登録の試行と、コードを見つけるためのトレースが一覧表示されます。

(function(){
    var old = $.fn.each;
    $.fn.each = function(){
        if(this.length == 0){
            console.debug('non-selector', this.selector)
            console.trace()
        }
        return old.apply(this, arguments);
    }
})();

デモ:フィドル

于 2013-09-20T15:35:01.170 に答える