如何从引导模式捕获事件

How to catch event from bootstrap modal

本文关键字:事件 模式      更新时间:2023-09-26

我正在使用引导中的模态

<div aria-hidden="hide" aria-labelledby="myModalLabel" role="dialog" tabindex="-1" id="myModal" class="modal fade" style="display: none;">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h4 id="myModalLabel" class="modal-title"></h4>
            </div>
            <div id="myModalBody" class="modal-body modalScroll"></div>
            <div class="modal-footer">
                <button data-dismiss="modal" class="btn btn-default" type="button">Close</button>
            </div>
        </div>
    </div>
</div>

这是我的主模态框,当我需要通知用户时,我会发送一些信息并显示模态。但我的想法是使用这个模式来显示图像,当用户选择一个时,我会保存为头像。所以我创建了如下函数:

<script>
    $('#avatar').click(function() {
        showMessage();
    });
    $('#eee').on('click', function() {
        alert('333');
    });
    function showMessage(){
        var txto = '<div id="eee">test me test</div>';
        $('#myModalLabel').append('Coose Your avatar');
        $('#myModalBody').append(txto);
        $('#myModal').modal('show'); 
    }
</script>

现在,当我进入页面并点击div id=avatar时,我会看到模式窗口,但当我点击:测试我时,我并没有结果。那么,有什么办法可以做到这一点吗?

尝试添加:

 $('#eee').on('click', function() {
    alert('333');
 });

showMessage()内部。。。您的问题是,如果事件是在(document).ready之后添加的,或者在本例中是页面呈现。。。

每当我这样做的时候,我只需要制作一个名为rebindEvents()的大函数,我可以调用它来让页面了解我的新项目。。。只是一个警告,如果你最终不得不处理很多jqueryelems,这对性能来说并不好,knockout是一个更好的处理动态html的库,而不是这样做。

此外,我假设您将呈现一个化身列表,因此您可能希望将eee交换到一个类,而不是id…