我动态添加了可拖动元素,并且可以通过dropzone删除它们。现在,我想添加通过按键删除它们的可能性。 我尝试使用以下代码:
$('.draggable').keydown(function(e){
if(e.keyCode == 46) {
$(this).remove();
}
});
任何想法为什么这行不通?
答案 0 :(得分:0)
您可以尝试将搜索类的输入作为.on()方法的参数传递,如下所示:
$('document').on('keydown', '.draggable', function(e) {
alert("Method Hit");
if(e.keyCode == 46) {
console.log($this);
$(this).remove();
}
});
答案 1 :(得分:0)
我认为我看到了问题。 @Ctrl_Alt_Defeat在正确的路径上,但是类.draggable
上的keydown事件没有意义。由于这是针对jQueryUI可拖动的,因此仅当.draggable
是当前关注的类时才会触发这些事件。当您想要时,可能不会发生。
我认为您可能想将事件处理程序添加到文档中,但不指定可拖动类。
$('document').on('keydown', function(e) {
alert("Method Hit");
if(e.keyCode == 46) {
console.log("Remove the draggable class now");
$(".draggable").remove();
}
});
当然,此方法会将事件应用于整个文档,因此,如果您单击delete,则具有可拖动类的 any 元素将被删除。如果您认为可以,那么可以。如果要执行有针对性的删除,则可以单击以添加一个类,然后让按下按钮删除最后单击的.draggable。