我创建了一个<asp:textbox id="TextBoxPassnummer" OnClick="openPopup()" />。当用户单击文本框时,将通过JS打开一个弹出窗口:

function openPopup(){
    var myWindow = newwindow = window.open("http://localhost:59969/test.aspx", "Anleitung", "width=200, height=800, toolbars=0, width=950, left=200,top=200,scrollbars=1,resizable=1");
}


弹出窗口包含有关在文本框(TextBoxPassnummer)中输入内容的信息。用户关闭Popupwindow之后,如果他单击文本框以输入其信息,则方法openPopup()不应再次执行。上面显示了我的代码,每次都会打开PopupWindows。

有什么建议可以解决这个问题吗?谢谢...

也这样尝试过:

     <% bool windowHasOpened = false;     %>

    if(windowHasOpened == false){


    function openPopup(){


        var myWindow = newwindow = window.open("http://localhost:59969/test.aspx", "Anleitung", "width=200, height=800, toolbars=0, width=950, left=200,top=200,scrollbars=1,resizable=1");
        <%windowHasOpened = true;  %>
    }

最佳答案

如果您有可用的jQuery,则可以使用one。它将绑定一次事件侦听器,该事件侦听器在第一次使用后会自行解除绑定。使用此功能时,必须从onClick="openPopup()"元素中删除#TextBoxPassnummer



function openPopup() {
    alert("popup opend");
}

$("#TextBoxPassnummer").one("click", openPopup);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="TextBoxPassnummer"></textarea>

10-06 08:13