原型重写jQuery函数

sim*_*ung 1 javascript jquery prototypejs

我是一个jQuery猴子,我有一个网站,我需要使用一个简单的功能在一个单独的窗口中打开与rel ="external"的链接.

在jQuery中我这样做:

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

我如何在原型中设置相同的功能,以便在任何连接到rel = external的链接上不引人注意地触发它?

谢谢

西蒙

编辑:

根据以下所有三个答复的建议,最终代码为:

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

谢谢大家!

Dar*_*rov 5

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

而且这里有一个演示.

  • 我会使用"$(document).on('dom:loaded'"而不是"Event.observe(window,'load'"和$(item).on而不是$(item).observe(这是新的1.7)句法) (3认同)