更改模态文本后打开A模式时,e.preventDefault不起作用。 modal在不改变内容的情况下开放

问题描述 投票:0回答:2

我正在尝试在单击模态触发按钮时更改模态正文。但模态是开放的,但模态正文不会改变。这是模态的代码

<button type="button" class="btn btn-info open-modal" data-remote="false" data-toggle="modal"  data-target="#myModal">Register</button>

<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
    <div class="modal-dialog">

        <!-- Modal content-->
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Modal Header</h4>
            </div>
            <div class="modal-body">
                <p>Some text in the modal.</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>

    </div>
</div>

然后来源防止默认事件

$('.open-modal').click(function(e)
{
    e.preventDefault();
    alert('hello i am jquery');
    $('#myModal').modal('show');
});

为什么警惕('你好我是jquery');线路没有执行?

javascript jquery bootstrap-modal
2个回答
2
投票

当您的HTML优先于jquery时,可能会发生这种情况,因为您的按钮指定了要使用以下属性打开的目标模式

data-remote="false" data-toggle="modal"  data-target="#myModal"

删除那些,然后jquery将没事

$('.open-modal').click(function(e)
{
    e.preventDefault();
    alert('hello i am jquery');
    $('#myModal').modal('show');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>

<button type="button" class="btn btn-info open-modal" >Register</button>

<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
    <div class="modal-dialog">

        <!-- Modal content-->
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Modal Header</h4>
            </div>
            <div class="modal-body">
                <p>Some text in the modal.</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>

    </div>
</div>

1
投票

要触发以编程方式显示的模式,可以使用以下命令:

$('#myModal').modal('show');

您还可以触发事件处理程序并在其中添加代码:

$('#myModal').on('shown', function() {
    alert('hello i am jquery');
})
© www.soinside.com 2019 - 2024. All rights reserved.