Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用模式上的关闭按钮_Javascript_Jquery_Html_Modal Dialog - Fatal编程技术网

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";
    };