我创建了一个 <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/