[英]Bootstrap modal passing data
我正在使用Bootstrap2.3.2,
function showmodal(arg1){$('#myModal').modal({keyboard:true,backdrop:'static'});
$('#myModal').on('hidden',function(){
alert(arg1);
});}
function function1 {showmodal("one");}
function function2 {showmodal("two");}
当我调用function1()
,模态将打开并关闭,该模态“一个”警报消息将到来。 在我要调用function2()
,模态将被打开并关闭,该模态“一个”即将成为第一个警报,“两个”即将成为第二个警报。 问题是两个警报都将出现在function2中。我需要在第二个函数调用中删除第一个警报。
您可以将函数参数另存为元素中的数据。
然后,您需要移出事件侦听器,或者将多个事件绑定到同一模式:
function showmodal(arg1) {
$('#myModal').data('arg', arg1).modal({
keyboard:true,
backdrop:'static'
});
}
$('#myModal').on('hidden',function(){
alert($(this).data('arg'));
});
function function1 {showmodal("one");}
function function2 {showmodal("two");}
或者,在绑定新的事件监听器之前先解除其绑定:
function showmodal(arg1){$('#myModal').modal({keyboard:true,backdrop:'static'});
$('#myModal').off('hidden').on('hidden',function(){
alert(arg1);
});}
jQuery有一个名为整齐的功能one
允许绑定的事件处理程序,这将至多每事件元素被调用一次:
function showmodal(arg1) {
$('#myModal').modal({keyboard:true,backdrop:'static'});
$('#myModal').one('hidden', function () {
alert(arg1);
});
}
我已经重新格式化了代码,但是相对于原始问题中的代码,上述代码中唯一的功能更改是用对one
的调用代替了对on
的调用。 通过使用one
,不需要解除绑定事件处理程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.