2012-02-09 7 views
2

私はChromeに厄介な問題があります。私が持っているいくつかのiframeの内容を変更するとiframeのページでより多くのリンクがあるクロームスクロールで自己

<a href="#"> 

「ノーどこのリンクに行きます」。

私の問題は、ページ上とiframe内の「どこにも行かない」リンクをクリックするとChromeが自動的にリンクの位置をスクロールすることです。

この効果をキャンセルするには何ができますか?ここで

は、IFRAMEの内容を変更しているリンクの内容の一つである:

var isChrome = (navigator.userAgent.indexOf("Chrome") >= 0); 
function LoadFrame(url) { 
    var oFrame = document.getElementById("iframeBoxID"); 
    if (isChrome) { 
     oFrame.style.visibility = "hidden"; 
     oFrame.onload = function() { 
      oFrame.style.visibility = "visible"; 
     }; 
    } 
    oFrame.src = url; 
} 


$("#TestPage1").click(function() { 
    LoadFrame("../galleryControlTest/TestPage1.aspx"); 
    changeFocusToIframe(this); 
}); 

は、私はこの効果をキャンセルするスクリプトに追加することができます気にいらはありますか? IEとFireFoxではこれは起こりません。

答えて

2

あなたのonlickイベントにreturn falseを追加してください。

$("#TestPage1").click(function() { 
    LoadFrame("../galleryControlTest/TestPage1.aspx"); 
    changeFocusToIframe(this); 
    return false; 
}); 
+1

これは動作するはずですが、私は(通常は)も '関数(E)などのイベント引数を持っているハンドラを持っています{ ... e.preventDefault();偽を返します。 } 'ちょうどの場合 – MilkyWayJoe

+0

はい、falseを返すと元のイベントはキャンセルされ、クリックされたように反応するのを効果的に防止します。 – bardiir

+0

それはトリックをしました:)しかし、私は何か理由でLOLで5分であなたの答えを受け入れることができません。 – samy

0

あなたは、「#」を削除し、ちょうどそのようにそれを書くことができます:<a href="">