我从这个网站上获得了数百个援助。谢谢。这是我的第一个问题。 哪个对象是进入Dom的模态窗口(警报弹出窗口)。我该如何推荐?我怎么知道开放还是关闭?像这样:if(alertPopup打开){.. code ...} 我的代码是这个(我使用jQuery):
<script type="text/javascript">
$(document).ready(function(){
var myButton = $('#mybutton')
myButton.click(function(){
if ($('#myinput').val() == '') {
alert('input Empty!');
} else {
// More code.
}
});
$(document).keyup(function(e){
if (e.keyCode == 13) myButton.trigger('click');
})
});
</script>
<body>
<input id="myinput" />
<button id="mybutton">Show alert</button>
</body>
代码的目的是触发按钮'enter'上的事件'click'。它有效,但当我关闭弹出窗口时,再次使用键'enter',弹出窗口再次出现。我需要在显示弹出窗口时禁用事件“点击”我的按钮或取消绑定触发器操作。 我不想制作自己的模态窗口。 提前谢谢。
答案 0 :(得分:1)
您可以将处理程序移动到其自己的函数,并以编程方式将其绑定/取消绑定到事件:
$(document).ready(function(){
var myButton = $('#mybutton')
console.log('whee');
myButton.click(clickHandler);
$(document).keyup(function(e){
if (e.keyCode == 13) myButton.trigger('click');
})
});
function clickHandler(){
$('#mybutton').unbind('click', clickHandler)
if ($('#myinput').val() == '') {
alert('input Empty!');
} else {
// More code.
}
}
但是,它看起来更像是在尝试以表单提交方式处理输入按钮。我建议将整个事物包装成一个表格,然后处理它。
有关更清晰的基于表单的解决方案,请参阅http://jsfiddle.net/ruBY4/。