2016-04-05 30 views
0

これは私をまったく困惑させていました。次のコードは動作します:JavaScriptのポップアップでフォーカスが失われてしまいます

function openPopUp(pageURL, title, popupWidth, popupHeight) { 
    var targetPop = null; 
    var left = (screen.width/2) - (popupWidth/2); 
    var top = (screen.height/2) - (popupHeight/2); 
    targetPop = window.open(pageURL, title, 'toolbar=no, status=no, menubar=no, width=' + popupWidth + ', height=' + popupHeight + ', top=' + top + ', left=' + left).focus(); 

} 

このコードは動作しません:

<a href="javascript:void(0);" onclick="openPopUp('Edit_Screen.aspx?Image_Id='+ '<%# Eval("Image_Id") %>','Popup',850,800);"> 
         <%# Eval("ReferenceNumber") %> 
</a> 

がこの呼び出す

function LaunchImage() 
{ 
    debugger; 
    openPopUp("Insert_Screen.aspx?dataType=images", "Popup", 750, 650); 
} 

そして、その呼び出し:これを呼び出す

<asp:Button ID="btnNewRecord" runat="server" Text="Enter New Record" CssClass = "button" OnClientClick="LaunchImage()" /> 

sと同じopenPopUp関数上記のように。最初のhrefコードの例はポップアップを呼び出し、ポップアップにフォーカスを維持します。 ASPボタンから呼び出される2番目のボタンは、ポップアップを呼び出し、それを呼び出した画面にフォーカスを戻します。なぜ誰にも分かりませんか?これはしばらく私を困惑させていました。

ありがとうございます!

答えて

0

ボタンをクリックするとポストバックが発生しますが、アンカーリンクをクリックするとポップバックが発生します。あなたは、ボタンのOnClientClick場合にはfalseを返すことによってポストバックを防ぐことができます。

OnClientClick="LaunchImage(); return false;" 
0
<asp:Button ID="btnNewRecord" runat="server" Text="Enter New Record" CssClass = "button" OnClientClick="LaunchImage(); return false;" /> 

または

<asp:Button ID="btnNewRecord" runat="server" Text="Enter New Record" CssClass = "button" OnClientClick="return LaunchImage();" /> 

とJavaScript

function LaunchImage() 
{ 
    debugger; 
    openPopUp("Insert_Screen.aspx?dataType=images", "Popup", 750, 650); 
    return false; 
} 
関連する問題