我引用的是bootstrap2的css与js, 以及jquery2.1.4
html代码如下
<a id="addControllerBtn" role="button" class="btn" data-toggle="modal" onclick="controllerAdd()">添加控制器</a>
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">添加</h3>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="control-group controls-row">
<label class="control-label span1">控制器ID:</label>
<div class="controls span2">
<input class="input-medium" type="text" placeholder="自动赋值" />
</div>
<label class="control-label span1" style="margin-left:60px;"><font color="#FF3030">*</font>测量点编号:</label>
<div class="controls span2">
<input class="input-medium" type="text" maxlength="10" />
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button class="btn btn-primary btn-large" id="saveBtn">保存</button>
<button class="btn btn-large" id="cancelBtn" data-dismiss="modal" aria-hidden="true">取消</button>
</div>
</div>
js代码如下
<script type="text/javascript">
function controllerAdd(){
alert("hello"); //测试
$("#myModal").modal('show');
$("#saveBtn").click(function(){
alert("3123"); //测试
});
}
$("#myModal").on("hidden", function() {
$(this).removeData("modal");
});
</script>
第一次打开模态框是正常的,点完取消,再点开模态框,点击保存,就会出现两次弹框。点击此取消,就会出现几次弹框,以此类推。找了好多方法,都没解决。我应该如何解决这个问题?
因采用jquery .on() 方式绑定钩子事件 所以我们要用jquery 的 .off() 方式去移除掉已经绑定事件的操作
$("#myModal").on("hidden", function() {