我有一个带有data-dismiss="modal"
按钮的模态组件。单击此按钮时,我还需要绑定另一个动作。我试过了:
$("#lsfModal").on("click", ".btn-ok", function(){
window.location = someURL;
});
我还尝试使用mousedown
代替click
,但没有运气。我注意到根本没有调用此函数。
有什么想法吗?感谢
我正在使用的HTML:
<div class="modal" id="lsfModal" tabindex="-1" role="dialog" aria-labelledby="lsfModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title" id="lsfModalLabel">Modal title</h4>
</div>
<div class="modal-body">
Lorem ipsum dolor sit amet
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-cancel" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-default btn-ok" data-dismiss="modal">OK</button>
</div>
</div>
</div>
</div>
LATER EDIT :该死的。我实际上使用的是另一个选择器:$("#lsfModal.confirm")
。后来通过javascript添加了类confirm
,这就是为什么它无法正常工作。 :|
答案 0 :(得分:3)
我认为你正在添加模型运行时。你需要为此目的使用代表团。
$("body").on("click", "#lsfModal.btn-ok", function(){
// do some thing herer
});
标记..
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
Launch demo modal
</button>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<button type="button " class="btn btn-primary deleteButton" ><span aria-hidden="true">×</span><span class="sr-only">Delete</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
Javascript:
$("body").on("click", ".deleteButton", function(){
// do some thing herer
alert('sds');
});
你可以玩bootply BootstrapDialog
答案 1 :(得分:0)
如果您想将处理程序附加到动态生成的控件,请使用委托语法
$( "container" ).on( "click", "#urcontrol", function() {
alert( $( this ).text() );
});