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')。可拖動。 –