您好,我有一个图像上传表单,当选择上传图像时,它也会显示预览。
$( function() {
var inputLocalFont = document.getElementById("user_file");
inputLocalFont.addEventListener("change",previewImages,false);
function previewImages(){
var fileList = this.files;
var anyWindow = window.URL || window.webkitURL;
for(var i = 0; i < fileList.length; i++){
var objectUrl = anyWindow.createObjectURL(fileList[i]);
$('.new-multiple').append('<div class="img-div"><img src="' + objectUrl + '" class="newly-added" /></div>');
window.URL.revokeObjectURL(fileList[i]);
}
$( ".img-div" ).draggable();
$( ".img-div" ).resizable();
$(".newly-added").on("click", function(e) {
$(".newly-added").removeClass("img-selected");
$(this).addClass("img-selected");
e.stopPropagation();
});
$(document).on("click", function(e) {
if ($(e.target).is(".newly-added") === false) {
$(".newly-added").removeClass("img-selected");
}
});
}
});
.new-multiple {
width:400px !important;
height:400px !important;
background:white;
border:2px solid red;
overflow:hidden;
}
.img-div {
width:200px;
height:200px;
}
.newly-added {
width:100%;
height:100%;
}
.img-selected{
box-shadow: 1px 2px 6px 6px rgb(206, 206, 206);
}
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input name="user_file[]" id="user_file" style="position: relative;overflow: hidden" multiple="" type="file">
<div class="new-multiple"></div>
我为图像编写了可调整大小、可拖动的函数。
因此,当我单击选定的图像并按键盘上的删除按钮时,我需要删除该图像。如果通过键盘按下撤消键,我必须将其恢复。我怎样才能实现这个目标
我看到了 jQuery。热键,https://github.com/jeresig/jquery.hotkeys
我写了下面的代码。但它不起作用
$('.img-selected').bind('del', '$', function(){
alert("yes");
});
请检查一下
https://jsfiddle.net/vd11qyzv/7/
UPDATED FIDDLE
请检查此https://jsfiddle.net/vd11qyzv/9/ 。在这里
if ($(e.target).is(".新添加的") === true) {alert('abc'); }
不起作用。
最佳答案
键盘事件不会发送至 img-selected 对象。 到目前为止,对于键盘处理,我一直使用这种格式并且效果很好。
$(document).on('keydown', handleKeyDown);
function handleKeyDown(e){
if(e.keyCode === 46)//delete Key{
deleteActiveObject();
}
}
希望这对您有帮助。
关于javascript - 使用 jQuery 检测键盘按键并为此添加功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46521664/