Javascript 重新加载部分页面后,JQuery.on()绑定不起作用

Javascript 重新加载部分页面后,JQuery.on()绑定不起作用,javascript,jquery,html,binding,Javascript,Jquery,Html,Binding,在我的页面上,我有一个报告的过滤表单。表单通过ajax提交,然后我重新加载页面的一部分。在页面的部分被中继之后,jQuery绑定在页面的中继部分不再工作 这是我的html: <input type="button" id="mainButton" value="Reload the container"/> <div id="reloadable" style="border: 1px solid black;"> <input type="button"

在我的页面上,我有一个报告的过滤表单。表单通过ajax提交,然后我重新加载页面的一部分。在页面的部分被中继之后,jQuery绑定在页面的中继部分不再工作

这是我的html:

<input type="button" id="mainButton" value="Reload the container"/>
<div id="reloadable" style="border: 1px solid black;">
    <input type="button" class="supplimentalButton" value="You should see alert" />
</div>

这是jQuery 1.9.1绑定:

// this bit works just fine first time.
// but after reload the binding is no longer attached 
// and alert is not coming up on button click
$('.supplimentalButton').on('click',function(){
    alert($(this).val());
});

// this is what reloads the container
$('#mainButton').on('click', function(){
    $('#reloadable').html('<input type="button" class="supplimentalButton" value="Alert does not work anymore" />');
});
//这个位子第一次工作正常。
//但重新加载后,绑定不再连接
//点击按钮时,警报不会出现
$('.supplimentalButton')。在('click',function()上{
警报($(this.val());
});
//这就是重新加载容器的原因
$('mainButton')。在('click',function()上{
$('#可重新加载').html('');
});
下面是JSFIDLE:

到目前为止,我看到的所有建议都是使用
.on()
绑定。这就是我正在做的。关于这个问题有什么建议吗?

$(“#可重新加载”)。在('click','supplimentalButton',function()上{
$('#reloadable').on('click','.supplimentalButton',function(){
    alert($(this).val());
});

$('#mainButton').on('click', function(){
    $('#reloadable').html('<input type="button" class="supplimentalButton" value="Alert does not work anymore" />')
});
警报($(this.val()); }); $('mainButton')。在('click',function()上{ $('#可重新加载').html('') });
给你:

$('reloadable')。打开('click','supplimentalButton',函数(){
警报($(this.val());
});
$('mainButton')。在('click',function()上{
$('#可重新加载').html('')
});

给你:

像这样使用事件委托

$('#reloadable').on('click','.supplimentalButton',function(){
    alert($(this).val());
});

像这样使用事件委托

$('#reloadable').on('click','.supplimentalButton',function(){
    alert($(this).val());
});

因为绑定事件时元素不存在!阅读,它解释了它。@epascarello是的,这就是为什么我使用
.on()
-文档中建议的用法之一。您阅读文档中的部分了吗?用一个例子来解释这一切。我确实略过了。。应该在那里多加注意-)因为绑定事件时元素不存在!阅读,它解释了它。@epascarello是的,这就是为什么我使用
.on()
-文档中建议的用法之一。您阅读文档中的部分了吗?用一个例子来解释这一切。我确实略过了。。应该在那里多加注意-)这很有效!谢谢这么简单,真不敢相信我在浏览了文档之后还没有尝试过。这很有效!谢谢这么简单,真不敢相信我在浏览了文档之后还没有尝试过。这很有效!谢谢太简单了!真不敢相信我在看了文档后竟然没有试过。真管用!谢谢太简单了!真不敢相信,在查阅了文档之后,我还没有尝试过。