我有一个ajax函数,它从laravel获取一个表体并重新加载它。每行都有一个复选框输入,其中包含来自模板脚本的事件。此外,此脚本更改复选框样式。一切正常,直到我调用此功能。然后,表重新加载,复选框样式和事件停止工作。
我不知道如何手动解决这个问题,因此我尝试重新加载这些脚本(使用" jQuery.getScript()")但它不起作用。有没有办法重新加载整个脚本?或者我必须使用" on()"?
绑定事件HTML
<tbody>
<?php $i=0; foreach($content as $file) : ?>
<tr class="<?php if($i%2==0) echo 'even'; else echo 'odd'; ?> pointer">
<td class="hidden-cell">{{ $file->id }}</td>
<td style="width: 60%;">
<span style="line-height: 20px;"><i class="{{ fileIcon($file->extension) }}"></i> {{ $file->name }}</span>
<input type="text" class="hidden-cell edit-name" placeholder="{{ $file->name }}">
</td>
<td style="text-align: center;">
@if( $file->type == 'archive')
{{ getSizeString($file->size) }}
@endif
</td>
<td style="text-align: center;">{{ $file->extension }}</td>
<td style="text-align: center;">{{ $file->created_at }}</td>
</td>
<td class="a-center">
<input type="checkbox" class="flat" name="table_records">
</td>
</tr>
<?php $i++; endforeach; ?>
</tbody>
的jQuery
function loadFolder() {
$.ajax({
type: "GET",
url: "/drive/load",
data: { id_folder: clickedId },
dataType: "html",
success: function(response){
$('tbody').replaceWith(response);
$('.pointer').on('dblclick', dbclickFile);
jQuery.getScript('/vendors/jquery/dist/jquery.min.js');
jQuery.getScript('/vendors/iCheck/icheck.min.js');
jQuery.getScript('/build/js/custom.min.js');
},
error: function(jqXHR, textStatus, errorThrown) {
var newDoc = document.open("text/html", "replace");
newDoc.write(jqXHR.responseText);
newDoc.close();
}
});
}