2009-08-15 5 views
1

Ich habe schon viel gesucht, aber es scheint, das kann nicht funktionieren.Ist es möglich, die Weiterleitung zu einer anderen Link-Seite zu stoppen?

Im Programm gibt es eine jquery ready-Funktion, um das Click-Event umzuleiten.

if($.isFunction(link.attr('onclick'))){link.click();return false;} 
else{document.location.href=link.attr('href');} 

so in dem Hyperlink, gibt es 2 Veranstaltungen Diese Seite neue Seite umleiten machen, ein <a href="aaa">Link1</a> ist die andere Onclick-Ereignis ist (sorry ich noch bin verwirrt, was zuerst ausführt).

Leider kann ich den jquery code nicht löschen..so kann ich nur neuen Code anhängen.

Ich möchte ein neues Fenster statt Umleiten öffnen, aber wie kann ich die Umleitung der Aktion stoppen?

Antwort

1

Ich verstehe nicht, was meinst du mit "nur neuen Code anhängen"? Wenn das bedeutet, dass Sie den Onclick-Handler oder den obigen Code nicht ändern können, lautet die Lösung wie folgt:

Identifizieren Sie den Link, für den Sie das Verhalten ändern möchten, entfernen Sie den onclick-Handler.

$(".someClass a").unbind('click'); 

neue Onclick-Handler hinzufügen:

$('.someclass a').bind(function(e){ 
    var url = $(e.target).attr('href'); 
    window.open(url, 'width=200'); 
})); 

sollte Alle Code ausgeführt werden, wenn Seite geladen wird und alle Links, die Sie in DOM sind außer Kraft setzen möchten.

$(document).ready(function(){ 

    //unbind links ... 
    $(".someClass a").unbind('click'); 
    //bind with changed onclick handler 
    $('.someclass a').bind(function(e){ 
     var url = $(e.target).attr('href'); 
     window.open(url, 'width=200'); 
    })); 

}); 
0

Wenn ich richtig zu verstehen, dass jQuery Block nur das Onclick laufen, wenn man sonst existiert es einen normalen Hyper-Link klicken simuliert.

Also, wenn Sie es möchten, öffnen Sie einfach in einem neuen Fenster, und Sie können nicht die jQuery eine Option ändern wäre ein Onclick-Ereignis hinzuzufügen:

<a href="aaa" onclick="window.open(this.href);return false;">Link1</a> 

Dies als Onclick offen ausführen soll in ein neues Fenster

0

Danke für alle Hilfe.

Ich kann die Umleitung jquery funciton nicht löschen, da richtlinie..die vorherige Programm wird einige Klick-oder Hyperlink-Umleitungsseite in Parent ..aber einige Seite muss für das Öffnen in einem neuen Fenster geändert werden.

lassen Sie mich

im Detail erklären Es gibt zwei Arten von Textlink

<tr><td>first</td><td><a href="aaa">link1</a></td><td>3rd</td></tr> 
<tr><td>first</td><td><a href="aaa" onclick="fun1()">link2</a></td><td>3rd</td></tr> 

ich noch kann nicht verstehen, warum sie so schreiben ... aber so leid, ich kann nicht alles ändern html

ich nur tun kann, ist neue Funktion anhängen ....

so, wenn der Benutzer direkt auf den Hyperlink Text klicken, ist es einfach für mich, ich kann Ziel _blank anhängen. aber wir haben auch Ereignisfunktion Seite ändern Ereignis Benutzer bewegen Sie die Maus auf den Datensatz und klicken Sie auf. kann auch neue Seite umleiten.

das ist warum diese funciton ....

if($.isFunction(link.attr('onclick'))){link.click();return false;} // I regard it for onclick function 
else{document.location.href=link.attr('href');} // it's for tag click.. 

so kann ich Ihnen sagen, es gibt 3 Möglichkeiten, Seite zu ändern.

  1. Klicken Sie auf den Textlink direkt ohne Klick Ereignisfunktion.

  2. Klicken Sie auf dieselbe Zeile des Tagbereichs.

  3. Klicken Sie auf den Textlink, aber mit Onclick-Funktion. , dass das Programm ist, wie ich jetzt weiß ....

So..before js Funktion kann ich einige Code fügen Sie die Seite Ereignis zu ändern. Ich möchte tun, ist das übergeordnete Fenster ist gleich..No reload.and wenn und klicken Sie auf einen Bereich kann die Webseite in einem neuen Fenster öffnen.

Verwandte Themen