easyui 键盘控制tree 上下

 1 $.extend($.fn.tree.methods, {
 2     highlight: function(jq, target){
 3         return jq.each(function(){
 4             $(this).find(‘.tree-node-hover‘).removeClass(‘tree-node-hover‘);
 5             $(target).addClass(‘tree-node-hover‘);
 6         })
 7     },
 8     nav: function(jq){
 9         return jq.each(function(){
10             var t = $(this);
11             t.attr(‘tabindex‘,0);
12             t.unbind(‘.tree‘).bind(‘keydown.tree‘, function(e){
13                 var curr = getCurr();
14                 if (!curr.length){return}
15                 if (e.keyCode == 40){    // down
16                     var li = getNext(curr);
17                     if (li.length){
18                         t.tree(‘highlight‘, li[0]);
19                     }
20                 } else if (e.keyCode == 38){    // up
21                     var li = getPrev(curr);
22                     if (li.length){
23                         t.tree(‘highlight‘, li[0]);
24                     }
25                 } else if (e.keyCode == 13){
26                     t.tree(‘select‘, curr[0]);
27                 } else if (e.keyCode == 39){    // right
28                     if (!t.tree(‘isLeaf‘, curr[0])){
29                         t.tree(‘expand‘, curr[0]);
30                     }
31                 } else if (e.keyCode == 37){    // left
32                     if (!t.tree(‘isLeaf‘, curr[0])){
33                         t.tree(‘collapse‘, curr[0]);
34                     }
35                 }
36                 e.preventDefault();
37             }).bind(‘mouseover.tree‘, function(e){
38                 var node = $(e.target).closest(‘div.tree-node‘);
39                 if (node.length){
40                     t.find(‘.tree-node-hover‘).each(function(){
41                         if (this != node[0]){
42                             $(this).removeClass(‘tree-node-hover‘);
43                         }
44                     })
45                 }
46             });
47             function getCurr(){
48                 var n = t.find(‘.tree-node-hover‘);
49                 if (!n.length){
50                     n = t.find(‘.tree-node-selected‘);
51                 }
52                 return n;
53             }
54             function getNext(curr){
55                 var n = $();
56                 var node = t.tree(‘getNode‘, curr[0]);
57                 if (t.tree(‘isLeaf‘, node.target)){
58                     n = curr.parent().next().children(‘div.tree-node‘);
59                     if (!n.length){
60                         var p = t.tree(‘getParent‘, curr[0]);
61                         if (p){
62                             n = $(p.target).parent().next().children(‘div.tree-node‘);
63                         }
64                     }
65                 } else {
66                     if (node.state == ‘closed‘){
67                         n = curr.parent().next().children(‘div.tree-node‘);
68                     } else {
69                         var cc = t.tree(‘getChildren‘, curr[0]);
70                         if (cc.length){
71                             n = $(cc[0].target);
72                         }
73                     }
74
75                 }
76                 return n;
77             }
78             function getPrev(curr){
79                 var n = curr.parent().prev().children(‘div.tree-node‘);
80                 if (n.length){
81                     var node = t.tree(‘getNode‘, n[0]);
82                     if (node.state == ‘open‘){
83                         var cc = t.tree(‘getChildren‘, node.target);
84                         if (cc.length){
85                             n = $(cc[cc.length-1].target);
86                         }
87                     }
88                 } else {
89                     var p = t.tree(‘getParent‘, curr[0]);
90                     if (p){
91                         n = $(p.target);
92                     }
93                 }
94                 return n;
95             }
96         })
97     }
98 })

$(‘#tt‘).tree(‘nav‘);
时间: 2024-08-11 23:00:07

easyui 键盘控制tree 上下的相关文章

用键盘控制DIV && Div闪烁

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

AS3键盘控制

第一种方式: package com.game.keymanager { import flash.display.Stage; import flash.events.KeyboardEvent; import flash.ui.Keyboard; import flash.utils.Proxy; import flash.utils.flash_proxy; /** * The KeyObject class recreates functionality of * Key.isDown

IOS开发学习笔记-(2)键盘控制,键盘类型设置,alert 对话框

一.关闭键盘,放弃第一响应者,处理思路有两种 ① 使用文本框的 Did End on Exit 绑定事件 ② UIControl on Touch 事件 都去操作 sender 的  resignFirstResponder #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UITextField *txtUserName; @pro

纯js实现用键盘控制DIV上下左右+放大缩小与变色

//用键盘控制DIV,红色方块为键盘操作区域,您可以进行如下操作:左右控制;背景变为绿色;背景变为黄色;背景变为蓝色放大或缩小用键盘控制DIV,红色方块为键盘操作区域,您可以进行如下操作:  上:↑ 下:↓ 左:← 右:→  Ctrl + 1 : 背景变为绿色  Ctrl + 2 : 背景变为黄色  Ctrl + 3 : 背景变为蓝色  Ctrl + ↑ : 放大  Ctrl + ↓ : 缩小 <!-- Author: XiaoWen Create a file: 2017-01-10 19:0

JS实现用键盘控制DIV上下左右+放大缩小与变色

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

【Unity3D】使用鼠标键盘控制Camera视角(即时战略类游戏视角):缩进,拉远,旋转

今天写一个demo,要用到鼠标键盘控制三维视角,因此写了个脚本用于控制. 该脚本可以用于即时战略类游戏的视角,提供了缩进,拉伸,旋转.同时按住鼠标右键不放,移动鼠标可以实现第一人称视角的效果. 1 using UnityEngine; 2 using System.Collections; 3 4 public class CameraController : MonoBehaviour { 5 6 7 public float near = 20.0f; 8 public float far

键盘控制

先安装装turtlebot_teleop包: sudo apt-get install ros-indigo-joystick-drivers ros-indigo-turtlebot-teleop 先启动一个模拟的TurtleBot sudo apt-get install ros-indigo-joystick-drivers ros-indigo-turtlebot-teleop 启动RViz: rosrun rviz rviz -d `rospack find rbx1_nav`/sim

简单的使用键盘控制方块移动

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>键盘控制方块移动</title> <style> #box{ width: 50px; height: 50px; background-color: green; position: relative; left: 50px; top: 50p

Unity游戏开发的数学与物理 2 ( 通过键盘控制物体的运动 )

通过键盘控制物体的运动 实现需注意: 获取键盘相应的方法 边界检测 合力方向的速度处理 勾股定理 using UnityEngine; using System.Collections; //通过键盘控制物体的运动 public class KeyControlMotionTest : MonoBehaviour { //物体的X位置 float posX = 0; //物体的Y位置 float posY = 0; //物体在x方向上的速度 float speedX = 1; //物体在y方向上