我在一个页面中使用了一个Oracle APEX Shuttle项目,其中我的左右航天飞机的ID是:P10_LIST_LEFT和P10_LIST_RIGHT。
我试图通过jQuery做的是禁用用户在任何一个班车上执行双击事件的能力,这将会“移动”#34;从左到右的项目或"删除"从右到左的项目。
我尝试过以下操作,不幸的是,双击从左向右移动仍然存在。
$("#P10_LIST_LEFT").dblclick(function(){event.preventDefault();return false;});
任何人都可以协助如何防止这种正常的双击行为。
答案 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")
虽然:
为什么你真的想要禁用这个功能?尝试干扰此默认行为是一种痛苦,除了功能降低之外,用户没有任何变化。右手也会禁用双击吗?每个班车都会这样吗?如果没有,那只会令人困惑。