Javascript jQuery代码不会在模态窗体上激发

Javascript jQuery代码不会在模态窗体上激发,javascript,jquery,ajax,twitter-bootstrap,modal-dialog,Javascript,Jquery,Ajax,Twitter Bootstrap,Modal Dialog,我有一个简单的链接,它将触发ajax调用并更改状态,我希望新的状态立即反映在模态表单上 问题是:当我点击下面的模态表单上的链接时,什么都没有发生 <a title="Autoplay" data-placement="top" data-toggle="tooltip" class="glyphicon glyphicon-stop" id="autoplayStatus" href="#"></a> 我应该做些什么来确保jQuery可以选择并绑定到模式表单上的对象?要

我有一个简单的链接,它将触发ajax调用并更改状态,我希望新的状态立即反映在模态表单上

问题是:当我点击下面的模态表单上的链接时,什么都没有发生

<a title="Autoplay" data-placement="top" data-toggle="tooltip" class="glyphicon glyphicon-stop" id="autoplayStatus" href="#"></a>

我应该做些什么来确保jQuery可以选择并绑定到模式表单上的对象?

要确保jQuery绑定到由引导创建的模式中的按钮或其他内容,您应该像这样编写事件处理程序:

$(document).ready(function() {
    $('.container').on('click', '#autoplayStatus', function() {
        alert('Ohai!');
    });
});
然后,在我的示例中,将锚定标记包装在容器中:

<div class="container">
    <a title="Autoplay" data-placement="top" data-toggle="tooltip" class="glyphicon glyphicon-stop" id="autoplayStatus" href="#"></a>
</div>

另一方面,更好的做法是使用,而不是创建按钮=

演示:似乎对我有用。您能详细说明一下吗?出于好奇,为什么要详细说明创建一个div,然后使用.on将单击绑定到该div中的id?更好的实践还是有性能差异?好吧,假设“.container”包含一系列动态生成的按钮。在这种情况下,绑定到“.container”而不是按钮可以防止创建按钮后再次绑定按钮。您可以将其视为在整个容器上注册一次单击,但仅当它位于给定的选择器“autoplayStatus”(在本例中为“autoplayStatus”)上时才关心它。忘记添加:不确定是否有任何性能优势,但您的JavaScript确实变得更干净。代码可以工作,但我在div中有两个元素复选框。我使用了class/container函数,所以我只需要编写一个函数来管理这些,但是每个复选框都带有一个ajax调用所需的数据属性$这不再是指已单击的复选框,而是指div。如何引用已专门单击的复选框,以便从数据属性中提取该id?希望能有所帮助。您基本上是使用上下文来定义它的。
<div class="container">
    <a title="Autoplay" data-placement="top" data-toggle="tooltip" class="glyphicon glyphicon-stop" id="autoplayStatus" href="#"></a>
</div>