2
我有一个问题,试图创建一个可重用的函数来设置元素为可拖动或可拖拽。Jquery发送一个函数的方法“对象[对象DOMWindow]没有方法'each'”
创建此2种独立功能的工作原理:
makedroppable($('.empty_child_article_image'), handleChildDropEvent);
或
makedraggable($('.empty_related_article_image'), handleAlternativeDragEvent);
function makedroppable(droppableClass, specificHandler){
droppableClass.droppable({
drop: specificHandler,
hoverClass: 'hovered'
});
};
或
function makedraggable(droppableClass, specificHandler){
droppableClass.draggable({
drop: specificHandler,
hoverClass: 'hovered'
});
};
然而,这并不工作:
makedroppable($('.empty_child_article_image').droppable, handleChildDropEvent);
function makedroppable(dragordrop_func, specificHandler) {
dragordrop_func({
drop: function(){specificHandler.apply($ ,specificHandler)},
hoverClass: 'hovered',
});
}
我得到一个错误“dragordrop_func({”这个错误在我的控制台
对象[对象DOMWindow]有没有方法“每个”
我已经尝试了一些其他的解决方案并从我读过这应该工作。我究竟做错了什么?
欢迎任何帮助或指导。
谢谢
感谢您的回复。有没有办法确保它正确传递?或者强迫它呢? –
随着人们的进一步帮助,我确实让它的工作方式更加难看。这是将字符串作为字符串发送,然后将其包装在方括号中。 makedroppable($('。empty_child_article_image'),“droppable”,handleChildDropEvent); 功能makedroppable(选择器,dragordrop,specificHandler){ $(选择器)[dragordrop]({ 降:dropFunction, 接受: '的.ui-拖动', hoverClass: '盘旋' )} } –
@ user1166885 - 当您将它作为参数传递时,您会失去上下文。可拖动的被称为$('。empty_child_article_image')。可拖动。 –