Javascript jQuery-使用JS事件,如;“德拉戈弗”;
我有一个JavaScript函数,它带有一个eventListener,用于'dragover' 看起来是这样的:Javascript jQuery-使用JS事件,如;“德拉戈弗”;,javascript,jquery,drag-and-drop,Javascript,Jquery,Drag And Drop,我有一个JavaScript函数,它带有一个eventListener,用于'dragover' 看起来是这样的: document.getElementById("someID").addEventListener("dragover", function(){ //Do logic }, false); 事情是-someID将是一个动态元素-它将被删除并添加到页面上。删除并重新添加后,eventListener将
document.getElementById("someID").addEventListener("dragover",
function(){
//Do logic
},
false);
事情是-someID
将是一个动态元素-它将被删除并添加到页面上。删除并重新添加后,eventListener将不再拾取dragover
事件。我知道如何处理这种情况的唯一方法是使用jQuery的.on()
我的问题是:在jQueryAPI下找不到
dragover
事件。。。它真的存在吗?如果没有,我如何在jQuery中使用它?您可以将客户拖动事件定义为
(function(jQuery) {
//Defining drag event.
jQuery.fn.drag = function() {
eventType = arguments[0] || 'dragstart';
onEvent = typeof arguments[1] == 'function' ? arguments[1] : function() {
};
eventOption = arguments[2] || false;
$(document).on('mouseover', $(this).selector, function() {
if ($(this).hasClass(eventType)) {
return;
}
if (! typeof eventType == 'string') {
return;
}
console.log('Binding Drag Event');
$(this).each(function() {
$(this)[0].addEventListener(eventType, onEvent, eventOption);
$(this).addClass(eventType);
})
});
}
})(jQuery);
然后,您必须将其添加为插件,并将其应用于所需的选择器,如下所示
$('#someID').drag('dragover', function(){
//Do logic
alert('DRAGGING!!!!!!');
},
false);
工作小提琴