2011-01-26 23 views
1

私は少しjQueryサルで、私は別のウィンドウでrel​​ = "external"とのリンクを開くためにシンプルな関数を使う必要があるサイトを落としました。 jQueryのでjQuery関数のプロトタイプ書き直し

私はこのようにそれを行う:私はそれらに接続された外部のrel =とのリンクを目立たないようにトリガーされるプロトタイプで同じ機能を設定する方法を

// make links with rel=external open in new window/tab 
$(function() { 
    $('a[rel*=external]').click(function() { 
     window.open(this.href); 
     return false; 
    }); 
}); 

おかげ

サイモン

EDIT:最終的なコードの下にあるすべての3つの応答の助言に続き

は次のとおりです。

$(document).on('dom:loaded', function() { 
    $$('a[rel*=external]').invoke('on','click', function(event) { 
     window.open(this.href); 
     event.stop(); 
    }); 
}); 

おかげですべての!

答えて

5
Event.observe(window, 'load', function() { 
    $$('a[rel*=external]').each(function(item) { 
     $(item).observe('click', function(event) { 
      window.open(this.href); 
      event.stop(); 
     }); 
    }); 
}); 

およびhere's a demo

+3

$(item).observeの代わりに "Event.observe(window、 'load')と$(item).onの代わりに" $(document).on( 'dom:loaded' "を使用します新しい「1.7」構文) –

+1

@Stefaan、nice。私は 'on'の導入を忘れていました。 ' – clockworkgeek

関連する問題