2016-08-08 7 views
0

Я использую элемент Oracle APEX Shuttle на странице, где идентификаторы обоих моих левых и правых шаттлов: P10_LIST_LEFT и P10_LIST_RIGHT.Как предотвратить обычный Shuttle Double Click Event

То, что я пытаюсь сделать через jQuery, отключает способность пользователя выполнять событие двойного щелчка на шаттле, которое «перемещает» элемент слева направо или «удаляет» элемент справа налево ,

Я пробовал следующее и, к сожалению, перемещение по двойному клику слева направо все еще происходит.

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

Помогите пожалуйста, как предотвратить этот нормальный двойной клик.

+0

'function() {event.preventDefault(); return false; } ',' event' здесь не определено. Попробуйте вместо этого 'function (event) {event.preventDefault(); return false; } ' – Ozan

+0

Пробовал .dblclick (функция (событие) {event.preventDefault(); return false;}); и, к сожалению, она еще не решила проблему. – tonyf

ответ

1

Совсем нормально. Функция doubleclick инициализируется в самом шаттле-виджетах. Все, что вы делаете, - это привязка нового обработчика двойного щелчка, который ничего не делает. В конце концов, какое «событие по умолчанию» вы бы предотвратили? Это обычный список выбора для всех целей и задач.

В \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