为什么我可以't打开BootStrap模式,同时执行jQuery回调函数
Why I can't open a BootStrap modal performing also a jQuery callback function?
我是JQuery和BootStrap的新手,我有以下问题。
我有这个BootStrap模式:
<div id="variazioneAnticipoModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h3 class="modal-title" style="color: #3b5a76;">Variazione Anticipo</h3>
</div>
<div id="modal-body" class="modal-body">
<div id="inserimentoVariazioneAnticipo">
<div class="row">
<div class="col-md-5">
<p style="line-height: 200%;">Inserire la variazione dell'anticipo: </p>
</div>
<div class="col-md-7">
<input id="variazioneAnticipo" class="rightAlligned form-control" style="width:50%" type="number" step="0.01" min="0" />
</div>
</div>
<div id="variazioneAnticpoInvalida" class="alert alert-danger" role="alert" style="display: none; margin-top: 3%;">
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
<span class="sr-only">Error:</span>
Il valore inserito non è valido
</div>
</div>
<!-- Hidden by default: -->
<div id="confermaVariazioneAnticipo" style="display: none;">
<h3>Confermare variazione anticipo ?</h3>
</div>
</div>
<div class="modal-footer">
<button id="chiudiVariaAnticipoButton" type="button" class="btn btn-default" data-dismiss="modal">Chiudi</button>
<button id="variaAnticipoButton" type="button" class="btn btn-primary">Varia anticipo</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
然后,我有了这个JQuery脚本,它打开了模态,并设置了一个必须显示的div和一个在打开模态时必须隐藏的div:
$('#variazioneAnticipoModal').modal('show');
$("#inserimentoVariazioneAnticipo").show();
$("#confermaVariazioneAnticipo").hide();
这很好用。
问题是,我试图使用回调函数概念来重构这个简单的JQuery代码。
所以我试着做:
$('#variazioneAnticipoModal').on('show.bs.modal', function (e) {
$("#inserimentoVariazioneAnticipo").show();
$("#confermaVariazioneAnticipo").hide();
});
但是它不能工作,并且没有显示模态。
我还试图在回调函数中只插入一条警告消息以进行调试,但仍然无法工作。警报弹出窗口不会显示,模式也不会打开。
为什么?我错过了什么?在这种情况下,是更好地使用回调概念,还是我可以使用第一个工作代码?与我的第一个工作示例和回调的使用有什么不同?
我认为您需要首先初始化模态。
尝试放置:$('#variazioneAnticipoModal').modal();
在你的代码之前,像这样:
$('#variazioneAnticipoModal').modal();
$('#variazioneAnticipoModal').on('show.bs.modal', function (e) {
$("#inserimentoVariazioneAnticipo").show();
$("#confermaVariazioneAnticipo").hide();
});
show.bs.modal在加载模型对话框时工作,shown.bs.mode在加载后可以做任何事情。后期渲染。但是,您需要首先初始化模态,这样它才会有这些事件。
相关文章:
- 如何在category.php中执行jquery,这应该适用于类别wordpress中的每个帖子
- 在Grails中的gsp中执行jquery代码
- 使用数组表示法对多个字段执行jQuery日期选择器
- 可以'不能间接执行JQuery函数
- 必须等待执行 jQuery,直到加载服务
- 如何按顺序执行 jQuery 函数
- 如何在 ul 标签下执行 JQuery UI 自动完成
- 如何在Safari提交表单之前执行JQuery
- 对未知数量的元素执行Jquery循环
- 页面内容加载完毕后执行Jquery功能
- 在动态列表中单击的特定img上执行JQuery
- 如何在运行时添加的对象上执行Jquery插件
- Android-Javascript:如何在webview中执行jquery
- 在setTimeout中执行jQuery成员函数而不关闭的方法
- Jquery:在Jquery的(字符串)变量中执行Jquery脚本
- 执行Jquery函数()的两个条件
- 表单提交成功后调用/执行JQuery函数
- 当记录达到10以上时,Bootstrap中的DataTable不执行jQuery
- 通过javascript加载jQuery后执行jQuery代码
- 如何正确执行Jquery动画浮动