Extjs - 유틸리티 객체에 대한 키 바인딩 기능 Ext.KeyMap

3108 단어 공구.
1.Ext.KeyMap 객체에 대한 키 바인딩 기능
Ext.KeyNav      12   ,            Ext.KeyMap,              ,                
코드
<script type='text/javascript'>
	Ext.onReady(function(){
		var km = new Ext.KeyMap('textarea',[{
			key : Ext.EventObject.LEFT,
			fn : function(e){
				km.el.setWidth(km.el.getWidth()-10);
			}
		},{
			key : Ext.EventObject.RIGHT,
			fn : function(e){
				km.el.setWidth(km.el.getWidth()+10);
			}
		},{
			key : Ext.EventObject.UP,
			fn : function(e){
				km.el.setHeight(km.el.getHeight()-10);
			}
		},{
			key : Ext.EventObject.DOWN,
			fn : function(e){
				km.el.setHeight(km.el.getHeight()+10);
			}
		}]);
		Ext.get('dis').on('click', function() {
	        km.disable();
	        Ext.get('result').update(km.isEnabled());
	    });
	    Ext.get('en').on('click', function() {
	        km.enable();
	        Ext.get('result').update(km.isEnabled());
	    });
		
	});
</script>
   </head>
   <body>
   		<button id='dis'>disable</button>
    	<button id='en'>enable</button>
    	<br/>
    	<span id='result'></span>
    	<br/>
	    <textarea id='textarea'></textarea>
   </body>
</html>
2.Ext.KeyMap은 여러 개의 키 이벤트에 대해 한 번에 하나의 모니터를 설정할 수 있습니다.
<script type='text/javascript'>
	Ext.onReady(function() {
	    var keyMap = new Ext.KeyMap('textarea', {
	        //key: [Ext.EventObject.ENTER, Ext.EventObject.BACKSPACE, Ext.EventObject.SPACE],
	        key: 'abcd',
	        fn: function(e) {
	            keyMap.el.setStyle('backgroundColor', 'red');
	            var fn = function(){
	                keyMap.el.setStyle('backgroundColor', 'white');
	            };
	            fn.defer(1000);
	        }
	    });
	});
</script>
   </head>
   <body>
	    <textarea id='textarea'></textarea>
   </body>
</html>
3.조합 키
<script type='text/javascript'>
	Ext.onReady(function() {
	  	var keyMap = new Ext.KeyMap('textarea', [{
	        key: Ext.EventObject.LEFT,
	        ctrl: true,
	        fn: function(e) {
	            keyMap.el.setWidth(keyMap.el.getWidth() - 10);
	        }
	    },{
	        key: Ext.EventObject.RIGHT,
	        ctrl: true,
	        fn: function(e) {
	            keyMap.el.setWidth(keyMap.el.getWidth() + 10);
	        }
	    },{
	        key: Ext.EventObject.UP,
	        ctrl: true,
	        fn: function(e) {
	            keyMap.el.setHeight(keyMap.el.getHeight() - 10);
	        }
	    },{
	        key: Ext.EventObject.DOWN,
	        ctrl: true,
	        fn: function(e) {
	            keyMap.el.setHeight(keyMap.el.getHeight() + 10);
	        }
	    }]);
	});
</script>
   </head>
   <body>
	    <textarea id='textarea'></textarea>
   </body>
</html>

좋은 웹페이지 즐겨찾기