Javascript 使用回调函数阻止操作

Javascript 使用回调函数阻止操作,javascript,jquery,callback,Javascript,Jquery,Callback,我正在使用一个将文件输入字段转换为拖放区域的。拖动图像后,它会立即插入到输入字段中 我不希望它自动添加。我只想在单击按钮.add后将其添加到输入字段中。我不知道是否可以这样做,是否可以使用接受回调函数,并告诉它仅在单击按钮时添加,否则从输入字段中删除拖动的文件 <input type="file" name="photo" id="photo" accept="image/png, image/jpeg" /> $('#photo').ezdz({ accept: fu

我正在使用一个将文件输入字段转换为拖放区域的。拖动图像后,它会立即插入到输入字段中

我不希望它自动添加。我只想在单击按钮
.add
后将其添加到输入字段中。我不知道是否可以这样做,是否可以使用接受回调函数,并告诉它仅在单击按钮时添加,否则从输入字段中删除拖动的文件

<input type="file" name="photo" id="photo" accept="image/png, image/jpeg" />

$('#photo').ezdz({  
    accept: function() {

    }
});

$('#照片').ezdz({
接受:函数(){
}
});

您可以通过常规html禁用输入:

<input type="file" disabled />

单击add时,尝试使用js将变量设置为true。然后在回调中检查该变量是否为true。如果没有,请从输入中删除该文件

var add = false;

$('button#add').on('click', function(){
    add = true;
 }

$('#photo').ezdz({  
    accept: function() {
       if( add != true ) {
           // code to remove image from input 
        }
    }
});

这并不完美,但可以在删除文件后显示确认信息,如果他们选择这样做,则可以将其删除

var add = false;

$('button#add').on('click', function(){
    add = true;
 }

$('#photo').ezdz({  
    accept: function() {
       if( add != true ) {
           // code to remove image from input 
        }
    }
});
var $photo = $('#photo');

function photoChange(e) {
    var ok = confirm("Are you sure you want to add this file?");

    if(!ok) {
        $photo.replaceWith($photo = $photo.clone());

        $photo.on("change", photoChange);
    }
}

$photo.on("change", photoChange);