jQuery,有没有办法绑定重新加载脚本的事件?

时间:2017-05-10 05:53:16

标签: javascript php jquery ajax laravel

我有一个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();
        }
    });         
}

0 个答案:

没有答案