如何防止正常的飞梭双击事件
How to prevent normal shuttle double-click event
我在一个页面中使用 Oracle APEX Shuttle 项,其中左右 shuttle 的 ID 为:P10_LIST_LEFT
和 P10_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")
虽然:
您为什么真的要禁用此功能?试图干扰这种默认行为是一件痛苦的事情,除了功能的减少之外,对用户来说没有任何改变。右手也会禁用双击吗?每个航天飞机都会这样吗?如果不是,那就太混乱了。
我在一个页面中使用 Oracle APEX Shuttle 项,其中左右 shuttle 的 ID 为:P10_LIST_LEFT
和 P10_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")
虽然:
您为什么真的要禁用此功能?试图干扰这种默认行为是一件痛苦的事情,除了功能的减少之外,对用户来说没有任何改变。右手也会禁用双击吗?每个航天飞机都会这样吗?如果不是,那就太混乱了。