我列出了可拖动的divs和可放置的区域.使用鼠标在chrome,FF和IE9中拖拽正常工作正常.我想添加键盘交互.
div当使用esc按键时,拖动应该恢复到列表.所以首先我喜欢这样:
$(document).keyup( function( e ){
e.preventDefault();
console.log(':::keypress:::',e);
if( e.which=== 27 || e.keyCode === 27 ){
$( '.ui-draggable-dragging' ).draggable( 'option', 'revert', 'invalid' ).trigger( 'mouseup' );
}
} );
Run Code Online (Sandbox Code Playgroud)
上面的代码检测到esc按键,但是div如果它在可放置区域上则会掉落.它不会在esc按键时恢复.所以我从这里开始喜欢这个
$( document ).keyup( function( e ){
//e.preventDefault();
var mouseMoveEvent, offScreen=-50000;
console.log(':::event:::',e);
if( e.which=== 27 || e.keyCode === 27 ) {
console.log(':::into esc keyup:::');
mouseMoveEvent = document.createEvent("MouseEvent");
offScreen = -50000;
mouseMoveEvent.initMouseEvent(
"mousemove", //event type : click, mousedown, mouseup, mouseover, …Run Code Online (Sandbox Code Playgroud)