我一直在处理一个奇怪的问题,即 .click()
事件在放置在 jQuery 对话框中时会发生两次。
下面是我的简单测试用例和 live example is here
<div id="popup" style="display: none">
<a href="javascript:void(0);" id="testlink">Test Link</a>
<script type="text/javascript">
$('#testlink').click(function(){
alert("Test Link clicked");
return 0;
});
</script>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#popup').css('display','block');
var h=($(window).height()+0.0)*0.9;
var w=($(window).width()+0.0)*0.9;
if(w >= 800){
w = 800;
}
$('#popup').dialog({
autoOpen: true,
width: w,
height: h,
modal: true,
open: function(event,ui){
$('body').css('overflow', 'hidden');
},
close: function(event,ui){
$('body').css('overflow', 'scroll');
}
});
});
</script>
最佳答案
移动<script>
在 popup
之外注册点击事件的 block div,我认为当 div 变得可见时,JS 会再次被解析......
关于jquery - jQuery 对话框中的单击事件发生两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142504/