我有兩個可拖動和可拖動元素的面板。兩者都有很長的列表,我必須限制面板的大小並使其可滾動。這裏是帶有示例代碼的jsfiddle。 http://jsfiddle.net/hemant_sathe/sYhYK/48/滾動divs中的重疊droppables
這裏嵌入的CSS只是因爲我需要一些代碼中嵌入的jsfiddle鏈接
.panel{
height: 150px;
overflow: auto;
margin: 0 0 20px 0;
border: 1px solid red;
}
我的問題是,如果我從上面的列表拖動項到下面的列表中,則放置事件被抓獲首先從頂部面板列表,然後由底部面板。從下面的列表拖動項目並拖放到上面的項目時不會發生這種情況。
我的理解是,頂部面板的HTML只是由可滾動面板隱藏,但JavaScript仍然捕獲同一DOM上的事件。即使由於頂部列表捕獲事件而造成可投擲貪婪,這種行爲也不會改變。設置Z-index也沒有幫助我。
其中一個選項是檢查是否在視口中可見droppable,但在我的實際項目中,我使用knockout綁定並添加此功能將使我的代碼難以管理。
有什麼辦法通過使用HTML,CSS或一些快速的JS函數來解決這個問題嗎?
在此先感謝。