javascript - 如何让 OnClick 事件只执行一次?

标签 javascript jquery popupwindow

我创建了一个 <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。它将绑定(bind)一个一次性事件监听器,该监听器在第一次使用后会自行解除绑定(bind)。使用此功能时,您必须从 #TextBoxPassnummer 元素中删除 onClick="openPopup()"

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>

关于javascript - 如何让 OnClick 事件只执行一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38787239/

相关文章:

javascript - 我如何处理参数数组以避免出现未定义的错误?

javascript - CSS Accordion 问题与 JavaScript

javascript - 把字符串变成数字

javascript - 比较javascript中的时间戳

javascript - js 文件中的一部分脚本与 firebug 控制台一起正常工作,但在页面中不工作

javascript - jQuery 不影响 AJAX 加载的内容

javascript - 创建带有表单内容的弹出窗口,然后在父页面中显示输出并发送到数据库

php - JavaScript 和 PHP 正则表达式的含义

android - 如何在特殊位置显示 PopupWindow?