如何防止正常穿梭双击事件

时间:2016-08-08 03:51:38

标签: jquery oracle-apex

我在一个页面中使用了一个Oracle APEX Shuttle项目,其中我的左右航天飞机的ID是:P10_LIST_LEFT和P10_LIST_RIGHT。

我试图通过jQuery做的是禁用用户在任何一个班车上执行双击事件的能力,这将会“移动”#34;从左到右的项目或"删除"从右到左的项目。

我尝试过以下操作,不幸的是,双击从左向右移动仍然存在。

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

任何人都可以协助如何防止这种正常的双击行为。

1 个答案:

答案 0 :(得分:1)

很正常。 doubleclick功能在shuttle-widget本身中初始化。你所做的只是绑定一个新的双击处理程序,它什么都不做。毕竟,你会阻止什么“默认事件”?这是所有意图和目的的正常选择列表。

\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")

虽然:
为什么你真的想要禁用这个功能?尝试干扰此默认行为是一种痛苦,除了功能降低之外,用户没有任何变化。右手也会禁用双击吗?每个班车都会这样吗?如果没有,那只会令人困惑。