gpt4 book ai didi

javascript - 将模态存储在变量中并在点击时显示

转载 作者:行者123 更新时间:2023-11-30 14:34:59 25 4
gpt4 key购买 nike

我想将模态存储在变量中,然后在用户单击按钮时显示模态。我试过了,但是当我点击按钮时没有任何反应,也没有控制台错误。

$( '.outlet' ).on('click', function(e) {
e.preventDefault();
var prodID = $(this).data('id');
var modal = `
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p>Some text in the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
`;
$(modal).show();
});

最佳答案

您必须将 modal 绑定(bind)到 DOM,以使其可见。在您的代码中,您的 modal 变量的 HTML 不在 DOM 中,这就是它不显示的原因。

喜欢在这里展示:

$("body").before(modal).show();

尽管您不需要 show(),因为您使用 before 函数将 HTML 附加到 DOM(HTML 代码除外有一个样式属性设置为 display:none 或者你想要一个动画或者...)。

这里是工作示例。 我添加了一些 HTML 以使示例运行。

$( '.outlet' ).on('click', function(e) {
e.preventDefault();
var prodID = $(this).data('id');
var modal = `
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p>Some text in the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
`;
console.info("IN THE CLICK FUNCTION");
$("body").before(modal);
$(".modal").show();

});
.modal { 
margin:50px;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 99;
display: none;
overflow: hidden;
-webkit-overflow-scrolling: touch;
outline: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<button class="outlet">test</button>
</body>

关于javascript - 将模态存储在变量中并在点击时显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50572238/

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