OpenFileDialog立即关闭并重新打开

时间:2018-04-19 14:11:01

标签: javascript jquery

我目前正在尝试更新Jquery插件(simpleCropper),以便我可以动态添加其他文件输入。我设法让它工作,但有一个奇怪的错误。为了使它工作,我不得不更新一些jquery调用并创建一个嵌套的销毁函数,然后重新启动。

cropme.simpleCropper.destroy();
cropme = $('.cropme').simpleCropper();

在console.log(cropme)上;它显示与销毁之前完全相同,除了添加的新元素是正确的。

我可以在页面加载时打开它,它按预期工作,当我在销毁和重新初始化后打开文件对话框时出现问题。当文件对话框打开并且我选择图像时,它不会按预期触发文件上载更新输入,它会重新打开一个新对话框,然后在第二次尝试时正常工作。没有出现控制台错误。

我知道它没有被触发,因为“检测到更改”在最初(在销毁之前)然后在第二次尝试时不会出现在控制台中。

fi.addEventListener("change", function() {
            console.log('change detected');
            imageUpload($(document.getElementById('preview')).get(0));
            // Reset input value
            $(this).val("");
 }, true);

销毁功能:

$.fn.simpleCropper.destroy = function(){
        $(document.getElementById('fileInput')).unbind(); //recently added, tried without
        $(document.getElementsByClassName('ok')[0]).unbind(); //recently added, tried without
        $(document.getElementsByClassName('cancel')[0]).unbind(); //recently added, tried without
        $( "#fileInput" ).remove();
        $( "#myCanvas" ).remove();
        $( "#modal" ).remove();
        $( "#preview" ).remove();

         reset();
};

reset()是指将插件变量重置为默认值的函数。

可能导致此行为的原因是什么?感谢

0 个答案:

没有答案