gpt4 book ai didi

javascript - 避免 Bootstrap Modal 中的额外事件调用

转载 作者:行者123 更新时间:2023-11-28 00:43:24 24 4
gpt4 key购买 nike

我正在尝试使用 ajax 请求在 Bootstrap Modal 中加载数据。这是我的示例代码:http://jsfiddle.net/tejashsoni111/f97gpwte/2/

HTML:

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-lg" id="button">
Launch demo modal
</button>
<div id="exec_count"></div>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>

JS:

var count=0

$("#button").click(function(){
$('#myModal').on('shown.bs.modal', function (e) {
count++;
jQuery("#exec_count").append("<span>"+count+"</span></br>");
});

$('#myModal').modal('show');

$('#myModal').on('hide.bs.modal', function (e) {
count=0;
jQuery("#exec_count").append("</br>");
});
});

问题是,每次按下按钮后,事件调用都会增加一。所以每次ajax调用的次数也随着事件调用而增加。在示例中,我用显示事件调用计数替换了 ajax 代码。

我无法找到任何解决方案来避免额外的调用。

任何帮助将不胜感激,提前致谢。

最佳答案

每次单击按钮时都会添加事件处理程序。您需要将事件处理程序移至点击事件之外。

var count=0

$('#myModal').on('shown.bs.modal', function (e) {
count++;
jQuery("#exec_count").append("<span>"+count+"</span></br>");
});

$('#myModal').on('hide.bs.modal', function (e) {
count=0;
jQuery("#exec_count").append("</br>");
});

$("#button").click(function(){
$('#myModal').modal('show');
});

关于javascript - 避免 Bootstrap Modal 中的额外事件调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27689340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com