Bootstrap Modal won't close,先前使用JQuery附加到Body
Bootstrap Modal won't close, previously appended to Body using JQuery
所以我去所有这些麻烦得到模态附加到正文和文本框的工作,然后我去关闭它在AJAX成功事件,但没有我尝试似乎工作。
var id;
var refundAmount = '';
var token = $("meta[name='csrf-token']").attr('content');
$('[data-toggle="modal"]').on('click', function(e) {
var checkeventcount = 1;
var prevTarget;
// Find the id from the modals href attribute
id = $(this).attr('href').replace(/[^0-9.]/g, "");
$('#new_refund_modal' + id).on('show.bs.modal', function (e) {
if(typeof prevTarget == 'undefined' || (checkeventcount==1 && e.target!=prevTarget))
{
prevTarget = e.target;
checkeventcount++;
e.preventDefault();
$(e.target).appendTo('body').modal('show');
$(document.body).delegate('#new_refund_input' + id, 'change keyup paste mouseup', function() {
if ($(this).val() != refundAmount) {
refundAmount = $(this).val();
}
});
}
else if(e.target==prevTarget && checkeventcount==2)
{
checkeventcount--;
}
});
});
$('.refund-submit-btn').click(function (e) {
e.preventDefault();
$.ajax({
url: '<%= payment_plan_refund_url %>',
type: 'post',
data: { authenticity_token: token, id: id, payment: { refund_amount: refundAmount }},
success: function (data, status) {
$('#new_refund_modal' + id).modal('hide');
}
});
});
这是我尝试过的不同修复的列表,模态中的关闭按钮仍然有效,所以我一直在试图触发AJAX成功,但修复似乎不工作
1) $('#new_refund_modal' + id).modal('hide');
2) $('#new_refund_modal' + id).data('modal', null);
3) $('#new_refund_modal' + id).remove();
$('.modal-backdrop').remove();
$('body').removeClass('modal-open');
4) $('#closeModal' + id).click();
当您删除/重新添加元素时,所有先前注册的事件处理程序都将消失。另外,新创建的DOM元素不会让的处理程序自动注册
例如,假设这是你的DOM树:
body
+-- modal1
+-- close-button
如果你在关闭按钮上注册处理程序,当modal1从DOM中删除/重新添加时,处理程序就消失了。如果在 modal1创建并附加到DOM
之前添加处理程序,也适用于此。您可以在删除/重新添加DOM元素时重新注册处理程序,或者在祖先元素上注册处理程序(因为向下触发的元素将向上传播)。
例如,不用
$('#modal1 .close-button').click(function() { .. })
使用:
$('body').on('click', '#modal1 .close-button', function() { .. });
相关文章:
- 在jQuery中使用$('body').html('')意味着什么
- jQuery body onChange具有多个元素和多个函数
- jQuery .css body opacity
- 如何在JQuery中添加和删除一个类来切换body标记上的滚动条
- jQuery多点击事件附加到Body元素(AJAX加载的内容)
- $('body').html()从来自Firefox中$jQuery.post的响应数据中给出了空白内容
- jQuery e.stopPropagation Conflict With body onclick
- jQuery $("body").height() returns undefined
- JavaScript - head, body or jQuery?
- jQuery.filter可以在body标签上工作吗?
- $(document).ready在我将jquery库放在body之前时不起作用
- JQuery .prependTo('body') 不起作用
- 如何在 jQuery 中使用 $(“body”).append() 添加多个 HTML 代码
- 在jQuery-Mobile中意外的“ui-li-static”和“ui-body-c”
- Jquery document.body.background
- JQuery appendTo Div with ID instead of appendTo('body
- 为什么手机用jQuery('body').width()检测疯狂的宽度;
- body onload不会触发javascript jquery
- 简单jQuery切换到$(“html,body”).css({“overflow”:“hidden”});当打开并且然后
- Jquery body height returns 0