2016-08-08 30 views
0

我在一個頁面內使用Oracle APEX穿梭項目,其中我的左右穿梭車的ID爲:P10_LIST_LEFT和P10_LIST_RIGHT。如何防止正常穿梭雙擊事件

我正試圖通過jQuery做的事是禁止用戶執行一個雙擊事件的能力,無論是穿梭,這將「移動」從左到右的項目或從右到左「移除」項目。

我已經嘗試了以下,不幸的是雙擊從左到右移動仍然發生。

$("#P10_LIST_LEFT").dblclick(function(){event.preventDefault();return false;}); 

任何人都可以請幫助,以便如何防止這種正常的雙擊行爲。

+0

'function(){event.preventDefault();返回false; }','事件'在這裏是無法識別的。嘗試以下代替'功能(事件){event.preventDefault();返回false; }' – Ozan

+0

試過.dblclick(function(event){event.preventDefault(); return false;});不幸的是它仍然沒有解決問題。 – tonyf

回答

1

很正常。雙擊功能在穿梭窗口小部件中初始化。你正在做的是綁定一個新的雙擊處理器,它什麼都不做。畢竟,你會防止什麼「默認事件」?這是針對所有意圖和目的的正常選擇列表。

\images\libraries\apex.widget.shuttle.js你能找到的DoubleClick的結合:

$(gShuttleListLeft) 
    .dblclick(_move) 
    .keydown(function (e) { 
     if(e.which === 13) { 
     _move(e, false); 
     e.preventDefault(); 
     } 
    }); 

這是有益的,因爲那裏只是一個簡單的綁定,從而可以像這樣被刪除:

$('#P10_LIST_LEFT', apex.gPageContext$).off("dblclick") 

雖然:
爲什麼你真的想禁用這個功能嗎?試圖干擾這種默認行爲是一種痛苦,除了能力降低之外,用戶沒有任何變化。右手是否也會禁用雙擊?每個航天飛機都會這樣嗎?如果不是,那只是令人困惑。

+0

回答你的問題 - 我實際上已經擴展了_MOVE和_REMOVE功能來調用我自己的js函數。由於我在頁面上只有一個穿梭物品,因此我決定只在用戶按下>和<按鈕時調用我的js功能。雙擊將在雙方禁用。 – tonyf