如何防止正常的飞梭双击事件

How to prevent normal shuttle double-click event

我在一个页面中使用 Oracle APEX Shuttle 项,其中左右 shuttle 的 ID 为:P10_LIST_LEFTP10_LIST_RIGHT

我试图通过 jQuery 做的是禁用用户在任一个 shuttle 上执行双击事件的能力,这将 "move" 从左到右的项目或 "remove" 从右到左的一个项目。

我已经尝试了以下方法,不幸的是,双击从左到右的移动仍然出现。

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

如何防止这种正常的双击行为?

很正常。双击功能在 shuttle-widget 本身中初始化。您所做的只是绑定一个什么都不做的新双击处理程序。毕竟,您要阻止什么 "default event"?这是一个正常的 select 列表,用于所有意图和目的。

\images\libraries\apex.widget.shuttle.js中可以找到双击的绑定:

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

这很有用,因为只有一个简单的绑定,因此可以像这样删除:

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

虽然:
您为什么真的要禁用此功能?试图干扰这种默认行为是一件痛苦的事情,除了功能的减少之外,对用户来说没有任何改变。右手也会禁用双击吗?每个航天飞机都会这样吗?如果不是,那就太混乱了。