如何使用Javascript删除下面的事件监听器?
var commentArea=$(this).parent().find('.comment_input_content')[0];
commentEditDropbox = commentArea;
commentEditDropbox.addEventListener("dragenter", dragenter, false);
commentEditDropbox.addEventListener("dragover", dragover, false);
commentEditDropbox.addEventListener("drop", drop, false);
function dragenter(e) {
e.stopPropagation();
e.preventDefault();
// $("#topic_content_input").css("cursor:copy");
}
function dragover(e) {
e.stopPropagation();
e.preventDefault();
// $("#topic_content_input").css("cursor:copy");
}
function drop(e) {
e.stopPropagation();
e.preventDefault();
// $("#topic_content_input").css("cursor:copy");
var dt = e.dataTransfer;
var files = dt.files;
var attr = $(this).attr('contenteditable');
// if contenteditable is true
if(attr){
commentEditHandleFileSelect(files);
alert("drop");
}
}
我简单地通过将addEventListener替换为removeEventlistener来解决下面的代码,但是没有工作:(
var commentArea=$(this).parent().find('.comment_input_content')[0];
commentEditDropbox = commentArea;
commentEditDropbox.removeEventListener("dragenter", dragenter, false);
commentEditDropbox.removeEventListener("dragover", dragover, false);
commentEditDropbox.removeEventListener("drop", drop, false);
答案 0 :(得分:0)
您正在使用JQuery选择所需的元素,因此您将获得一个jQuery选择器对象。
我建议将addEventListener更改为on,并将removeEventListener更改为off。
commentEditDropbox.on("dragenter", dragenter);
commentEditDropbox.on("dragover", dragover);
commentEditDropbox.on("drop", drop);
commentEditDropbox.off("dragenter", dragenter);
commentEditDropbox.off("dragover", dragover);
commentEditDropbox.off("drop", drop);