按钮单击不在模态窗口中触发(Bootstrap)

fum*_*eng 31 javascript jquery twitter-bootstrap

我在模态窗口中有一个按钮:

<button id="submit_btn" class="btn btn-link">Send the invitation</button>
Run Code Online (Sandbox Code Playgroud)

我正在尝试捕获点击:

$('#submit_btn').click(function(event){
    event.preventDefault();
    alert( "GO" ); 
});
Run Code Online (Sandbox Code Playgroud)

我已经读过按钮点击在模态窗口中被吞下,为了防止这种情况,请使用event.preventDefault().但那不起作用.我无法捕获此按钮的click事件.

我还缺少什么?

任何提示都非常感谢!

Ros*_*oss 69

试试这个 -

$(document).on("click", "#submit_btn", function(event){
    alert( "GO" ); 
});
Run Code Online (Sandbox Code Playgroud)

或这个 -

$(document).delegate("#submit_btn", "click", function(event){
    alert( "GO" ); 
});
Run Code Online (Sandbox Code Playgroud)

如果您使用的是旧版本的jQuery,则可能需要使用live方法.

实时方法(仅在必要时使用此方法)

$("#submit_btn").live("click", function(event){
    alert( "GO" ); 
});
Run Code Online (Sandbox Code Playgroud)

我相当确定上述3种方法中的一种可以解决您的问题.事件处理程序不起作用的原因是因为在评估事件处理程序时,submit_btn元素不存在.我给你的上述3个处理程序将处理现在和将来存在的submit_btn元素.

/编辑

这是一个有用的jsfiddle - http://jsfiddle.net/GqD4f/8/

/另一个编辑

我使用您在帖子中使用的方法制作了一个jsfiddle并且它有效 - http://jsfiddle.net/CR3bM/1/

你没有把你的事件处理程序放在DOM中吗?