2009-08-15 22 views
1

私はすでに多くの検索をしましたが、これはうまくいかないようです。他のリンクページへのリダイレクトを停止することはできますか?

このプログラムでは、クリックイベントをリダイレクトするためのjquery準備関数があります。

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

ので、ハイパーリンクでは、2つのイベントがあり、一方が他方をのonclickイベント(申し訳ありませんが、私はまだ最初に実行する混乱しています)で<a href="aaa">Link1</a>で、このページは新しいページにリダイレクトすることができます。

残念ながら、jqueryコードを削除することはできません。新しいコードのみを追加できます。

リダイレクトするのではなく、新しいウィンドウを開きたいのですが、どのようにしてリダイレクトを停止できますか?

答えて

1

"新しいコードのみを追加する"とはどういう意味ですか?つまり、onclickハンドラまたは上記のコードを変更できない場合は、次のようになります。

動作を変更するリンクを指定して、onclickハンドラを削除します。

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

新しいのonclickハンドラを追加します。

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

ページがロードされ、あなたが上書きしたいすべてのリンクがDOMであるときは、すべてこのコードを実行する必要があります。

$(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

私が正しく理解していれば、そのjQueryブロックはonclickを実行するだけです。そうでなければ、通常のハイパーリンクのクリックをシミュレートします。あなたが新しいウィンドウでそれだけで開くようにしたい、とあなたはjQueryのにオプションを変更できない場合

だから、のonclickイベントを追加することです:

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

これは中のonclickオープンとして実行する必要があります新しいウィンドウ。

0

ありがとうございました。

リダイレクトjquery関数を削除することはできません。ポリシー。これは、前のプログラマーが親のクリックまたはハイパーリンクリダイレクトページを作成するためです。ただし、新しいウィンドウで開くために一部のページを変更する必要があります。

私が詳細に説明させ

テキストリンクの2種類

<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> 

は、彼らはこのように書き、なぜ私はどちらも理解することはできません...しかし、とても残念、私はすべて変更することはできませんがあります私は行うことができ、HTML

は、新しい機能を追加....

ので、ユーザが直接ハイパーリンクテキストをクリックした場合で、それは私のために簡単です、私は_blankにターゲットを追加することができます。 しかし、私たちは、イベント機能の変更ページイベントのユーザーがレコードにマウスを移動し、クリックします。新しいページをリダイレクトすることもできます。

この理由は....

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.. 

ですから、ページを変更する3つの方法があります。

  1. clickイベントファンクションなしで直接テキストリンクをクリックしてください。

  2. タグ領域の同じ行をクリックします。

  3. onclick機能を使用してテキストリンクをクリックします。私が今知っているように、プログラムの ....

So..before jsの機能私は、ページのイベントを変更するには、いくつかのコードを追加することができます。 私は親ウィンドウが同じであることをしたいと思います... no reload.andいくつかの領域をクリックすると、新しいウィンドウでWebページを開くことができます。

関連する問題