Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换HTML后,js函数不再绑定_Javascript_Jquery_Html - Fatal编程技术网

Javascript 替换HTML后,js函数不再绑定

Javascript 替换HTML后,js函数不再绑定,javascript,jquery,html,Javascript,Jquery,Html,我想我的函数没有正确定义,因为当我替换表html代码时,表行不再触发它们所绑定的函数 这是我的HTML表格: 布拉布拉 30,00 和我的javascript代码: var formAjaxSubmit=function(form、modal、obj_to_replace=false){ $(表格)。提交(功能(e){ e、 预防默认值(); $.ajax({ 类型:$(this.attr('method'), url:$(this.attr('action'), 数据:$(this).se

我想我的函数没有正确定义,因为当我替换表html代码时,表行不再触发它们所绑定的函数

这是我的HTML表格:


布拉布拉
30,00
和我的javascript代码:

var formAjaxSubmit=function(form、modal、obj_to_replace=false){
$(表格)。提交(功能(e){
e、 预防默认值();
$.ajax({
类型:$(this.attr('method'),
url:$(this.attr('action'),
数据:$(this).serialize(),
成功:函数(xhr、ajaxOptions、thrownError){
if($(xhr).find('.has error')。长度>0){
$(模态).find('.modal body').html(xhr);
表格提交(表格,模态);
}否则{
$(模态).modal('toggle');
如果(obj_to_replace!==false){
$(模态).modal('toggle');
obj_to_replace.parentNode.innerHTML=xhr;
}
}},
错误:函数(xhr、ajaxOptions、thrownError){
//在这里处理响应错误
}
});
});
};
$('.open row modal')。单击(function(){
var url=$(this)[0].attributes.href;
var parent_card=findAncestor($(此)[0],“卡默认值”);
让load=$('#form modal body').load(url.value,function(){
$('#form model')。model('toggle');
表单提交(“#表单模态体表单”、“表单模态”、“家长卡”);
});
});
函数findAncestor(el、cls){
而((el=el.parentElement)和&!el.classList.contains(cls));
返回el;
}

当表格被替换时,点击功能不再被触发。

我认为这是因为元素是动态更新的。尝试使用事件委派来处理事件。在jquery中,尝试使用
.on()
将单击事件附加到文档选择器

$(document).on('click','.open-row-modal',function() {

有关.on()事件处理程序的文档,请参阅。

尝试使用
$(文档)。on('click','open row modal',function(){
,如果替换附加到DOM的DOM内容,请将其删除。可能您正在寻找事件冒泡。感谢@CarstenLøvboAndersen。这是解决方案!由于此问题显然是重复的,因此被否决(乘以100左右)并应关闭。