2012-01-13 7 views
2

"onEnter"というjQuery関数を作成しました。 実行にはうまくいきますが、いつでもイベントをトリガーする必要があります。次のような感じです:jQuery:カスタムイベントのトリガー関数

$(obj).onEnter(function(){ doSomething(); }); 

これは魅力的です。 は、それから私はトリガーにしたい:

$(obj).onEnter(); 

をしかし、これは動作しているようですしません。 これは私のコードです。 ありがとうございます。

$.fn.extend({ 
    onEnter: function(fn) { 
     this.each(function() { 
      new $.onEnter(this, fn); 
     }); 
     return this; 
    } 
}); 

$.onEnter = function(obj, fn) { 
    if(typeof fn == 'function') 
    { 
     $(obj).keypress(function(e){ 
      if(e.which == 13) 
      { 
       e.preventDefault(); 
       fn(obj); 
      } 
     }); 
    }; 
    return; 
}; 
+0

だからあなたのような何かをするだろうか? –

答えて

0

私はあなたがjQuery .trigger()を使用したいと思います。なぜあなたは `new`を使用している

$('#foo').bind('custom', function(event, param1, param2) 
{ 
    alert(param1 + "\n" + param2); 
}); 

$('#foo').trigger('custom', ['Custom', 'Event']); 
関連する問題