Javascript jQuery,有没有一种方法可以绑定重新加载脚本的事件?
我有一个ajax函数,它从laravel获取一个表体并重新加载它。每行都有一个复选框输入,其中包含来自模板脚本的事件。此外,此脚本更改复选框样式。在我调用这个函数之前,一切都正常。然后,重新加载表,复选框样式和事件停止工作 我不知道如何手动解决这个问题,所以我尝试重新加载这些脚本(使用“jQuery.getScript()”),但它不起作用。有没有办法重新加载整个脚本?还是必须用“on()”绑定事件 HTMLJavascript jQuery,有没有一种方法可以绑定重新加载脚本的事件?,javascript,php,jquery,ajax,laravel,Javascript,Php,Jquery,Ajax,Laravel,我有一个ajax函数,它从laravel获取一个表体并重新加载它。每行都有一个复选框输入,其中包含来自模板脚本的事件。此外,此脚本更改复选框样式。在我调用这个函数之前,一切都正常。然后,重新加载表,复选框样式和事件停止工作 我不知道如何手动解决这个问题,所以我尝试重新加载这些脚本(使用“jQuery.getScript()”),但它不起作用。有没有办法重新加载整个脚本?还是必须用“on()”绑定事件 HTML 作为一个选项,您可以将您的新脚本和删除您以前的脚本作为html放入页面:$(body)
作为一个选项,您可以
将您的新脚本
和删除您以前的脚本
作为html放入页面:$(body).append($('',{src='/vendors/.etc')代码>您只需要将iCheck复选框的jquery代码放入成功函数中。最坏情况下,某些函数需要重新执行。充其量,使用.on()
进行事件委派就足够了。如果你需要重写纸条,那么就不必再重新加载了。它成功了。我只需要重新执行所需的功能。谢谢你的回答。
<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>
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();
}
});
}