Javascript 使用模式上的关闭按钮
我试图在模式中使用关闭模式按钮,但不起作用 我的代码:Javascript 使用模式上的关闭按钮,javascript,jquery,html,modal-dialog,Javascript,Jquery,Html,Modal Dialog,我试图在模式中使用关闭模式按钮,但不起作用 我的代码: <center><button class="bleu b_modal">Modal test</button></center> <script type="text/javascript"> $(".b_modal").click(function(e) { e.preventDefault(); modal.open({conten
<center><button class="bleu b_modal">Modal test</button></center>
<script type="text/javascript">
$(".b_modal").click(function(e) {
e.preventDefault();
modal.open({content: '\
<center><button class="b_close">Close modal</button></center>\
'});
});
$('.b_close').click(function(e){
e.preventDefault();
modal.close();
});
var modal = (function(){
var
method = {},
$modal,
$content,
$close;
method.open = function(settings) {
$content.empty().append(settings.content);
$modal.show();
document.body.style.overflow = "hidden";
};
method.close = function() {
$modal.hide();
$content.empty();
document.body.style.overflow = "auto";
};
$modal = $('<div id="modal"></div>');
$content = $('<div id="modal_content"></div>');
$close = $('\
<center><button class="b_close">Close modal</button></center>\
');
$modal.hide();
$modal.append($content, $close);
$(document).ready(function(){
$('body').append($modal);
});
$close.click(function(e){
e.preventDefault();
method.close();
});
return method;
}());
</script>
以下几行似乎是您的问题:
modal.open({content: '\<center><button class="b_close">Close modal</button></center>\'});
$close = $('\<center><button class="b_close">Close modal</button></center>\');
然后在函数中使用var$close
var $close = $('<button class="b_close">Close modal</button>');
method.open = function() {
$content.append($close);
$modal.show();
document.body.style.overflow = "hidden";
};
var$close=$('close model');
method.open=函数(){
$content.append($close);
$modal.show();
document.body.style.overflow=“隐藏”;
};
最后,您不需要在.open()和.close()方法中对内容调用.empty()
我已经对您的代码进行了一些编辑,这里有一个正在工作的JSFIDLE:中央应答器仅用于在我的页面上进行测试,但不能解决我的问题。请查看我为您制作的JSFIDLE。它显示了一个工作状态solution@SankarRaj修正了如何在模式上添加文本和关闭按钮?这可能是一个新问题的基础。我已经在这里帮助您解决了关闭按钮的问题,但是您仍然可以将设置传递到.open()方法中,不需要传递关闭按钮。
$close = $('<button class="b_close">Close modal</button>');
modal.open();
var $close = $('<button class="b_close">Close modal</button>');
method.open = function() {
$content.append($close);
$modal.show();
document.body.style.overflow = "hidden";
};