一旦显示模态对话框,我就会触发引导事件。一切都像Chrome上的魅力,但在Firefox中,事件永远不会触发。我的Firefox版本是38.05。这是我的代码:
$(document).on('show.bs.modal', function () {
$(elementEvents).each(function( i, event ) {
console.log("binding event index " + i +" for type " + event.type);
currentElement.bind(event.type,event);
});
});
如果我更改此行
$(document).on('show.bs.modal', function () {
通过这个作品
$("*").on('show.bs.modal', function () {
知道为什么Firefox没有解释这个文件吗?
答案 0 :(得分:2)
您必须将event绑定到实际模态。
$('#exampleModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget) // Button that triggered the modal
var recipient = button.data('whatever') // Extract info from data-* attributes
// If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
// Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
var modal = $(this)
modal.find('.modal-title').text('New message to ' + recipient)
modal.find('.modal-body input').val(recipient)
});
这是一个有效的example。
或者你可以将它绑定到类:
$('.modal').on('show.bs.modal', function (event) {
alert('here I am!');
console.log(event);
});
$('.modal').on('hidden.bs.modal', function (event) {
alert('bye bye!');
console.log(event);
});
如此jsFiddle所示。
答案 1 :(得分:0)
我刚遇到这个问题......我将代码移到了jQuery(document).ready()中,现在它正在为我工作。
jQuery(document).ready(function () {
jQuery('.modal').on('hidden.bs.modal', function (e) {
// whatever you want to do
});
});