jQueryでのdelegate系(on/off)で、要素をフィルタしたい


jQueryのdelegate系(on/off)で、例えば以下のようにやると、<form>でもclickイベントが発動してしまうと思います。

[code]

    var selector = 'a, form';
    
    $(document).on('click submit', selector, function() {
        // something
    });
    
[/code]

これを、 **`var selector = 'a, form';`
の部分は変えない前提で**、<a>はclickイベントのみ、<form>はsubmitイベントのみ発動するようにできますでしょうか？

ちなみに、以下のようなものを試してみましたが動作しませんでした。  
（どちらも発動されてしまいます）

[code]

    var selector = 'a, form'; // ここは変えられない
    
    $(document).on('click submit', selector, function() {
        // something
    });
    
    $(document).off('submit', 'a'); // <a>はsubmitイベントを無効にしたい
    $(document).off('click', 'form'); // <form>はclickイベントを無効にしたい
    
    // これもダメでした。
    $('a').off('submit');
    $('form').off('click');
    
[/code]

* * *

**追記**

やりたいこととしては、ajaxで他ページを取得し表示するというプラグインを作成しており、<a>タグ（ボタン系）と<form>に対応したいです。  
ajaxでコンテンツを取得後、さらにその中に<a>や<form>等があれば、それも適用対象にしたいという感じです。




最初の`var selecter` にいれるところは配列の方がよさそうですね。

[code]

    var selecter = 'a, form';
    var ss = selecter.split(', ');
    $.each(ss, function(i, d){
        $(document).on('click submit', d, function() {
            console.log(123+d);
        });
    });
    $(document).off('click', 'a');
    
[/code]

