Стрелки вверх и вниз клавиатуры

Я нашел решение, есть MapSessionRepository, который может принимать карту. вот документация EnableSpringHttpSession

@EnableSpringHttpSession
@Configuration
public class SpringHttpSessionConfig {
    @Bean
    public MapSessionRepository sessionRepository() {
        return new MapSessionRepository(new ConcurrentHashMap<>());
    }
}

9
задан Mithun Sreedharan 17 January 2012 в 12:49
поделиться

4 ответа

скопируйте и вставьте эту часть кода и попытки..

<style>
div.active{ 
        background: lightblue
}
</style>
<center>
<input type="text" id="tb">
<div id="Parent" style="position:absolute;display:block;left:428px; width:146px;top:38px; height:100px; border: 2px solid lightblue; overflow:auto;">  
<div id="childOne">1 </div>     
<div id="childOne">2 </div>     
<div id="childOne">3 </div>     
<div id="childOne">4 </div>
<div id="childOne">5 </div>
<div id="childOne">6 </div>
<div id="childOne">7 </div>
<div id="childOne">8 </div>
<div id="childOne">9 </div>
<div id="childOne">10 </div>
</div>
</center>
<script type="text/javascript">
    var scrolLength = 19;
    function autocomplete( textBoxId, containerDivId ) { 
        var ac = this;    
        this.textbox     = document.getElementById(textBoxId);    
        this.div         = document.getElementById(containerDivId);    
        this.list        = this.div.getElementsByTagName('div');    
        this.pointer     = null;    
        this.textbox.onkeydown = function( e ) {
            e = e || window.event;        
            switch( e.keyCode ) {            
            case 38: //up                
                ac.selectDiv(-1);                
            break;            
            case 40: //down                
                ac.selectDiv(1);                
            break;        }    
            }    

            this.selectDiv = function( inc ) {        
                 if(this.pointer > 1){
                     scrollDiv();
                 }
                 if(this.pointer == 0)
                    document.getElementById("Parent").scrollTop = 0;   
                if( this.pointer !== null && this.pointer+inc >= 0 && this.pointer+inc < this.list.length ) { 
                    this.list[this.pointer].className = '';            
                    this.pointer += inc;            
                    this.list[this.pointer].className = 'active';            
                    this.textbox.value = this.list[this.pointer].innerHTML; 
                }
                if( this.pointer === null ) {            

                    this.pointer = 0;            
                    scrolLength = 20;
                    this.list[this.pointer].className = 'active';            
                    this.textbox.value = this.list[this.pointer].innerHTML;        
                }    
            }
            function scrollDiv(){
                 if(window.event.keyCode == 40){
                     document.getElementById("Parent").scrollTop = scrolLength;
                     scrolLength = scrolLength + 19;  
                 }           
                 else if(window.event.keyCode == 38){

                     scrolLength = scrolLength - 19;  
                     document.getElementById("Parent").scrollTop = scrolLength;

                 }
            }
        } 
    new autocomplete( 'tb', 'Parent' );
</script>
3
ответ дан 4 December 2019 в 12:22
поделиться

Используйте onkeydown и onkeyup события для проверки на события нажатия клавиши в отделении результатов:

var UP = 38;
var DOWN = 40;
var ENTER = 13;

var getKey = function(e) {
  if(window.event) { return e.keyCode; }  // IE
  else if(e.which) { return e.which; }    // Netscape/Firefox/Opera
};


var keynum = getKey(e);

if(keynum === UP) {
  //Move selection up
}

if(keynum === DOWN) {
  //Move selection down
}

if(keynum === ENTER) {
  //Act on current selection
}
14
ответ дан 4 December 2019 в 12:22
поделиться

Долгое время, так как я сделал это, но я предполагаю Вас, может использовать event.keyCode.

Если возвращенные значения равняются 38 и 40, то пользователь нажал стрелки вверх и вниз соответственно.

Затем необходимо выбрать строку выше или ниже текущей позиции. То, как выбрать строку, зависело бы от Вашей конкретной ситуации.

0
ответ дан 4 December 2019 в 12:22
поделиться

Я предполагаю, что у Вас есть вход, который обрабатывает вход.

отобразите onkeyup-eventhandler для того входа, в котором Вы считываете event.keyCode и действительно наполняете, когда это - соответствующие коды клавиши для/стрелка вниз (38, 40), для хранения ссылки, к которому узлу (объект в отделении) Вы перемещаете фокус в.

Затем назовите тот же обработчик, когда Вы совершаете нападки, входят (код клавиши 13), поскольку Вы делаете onclick.

Трудно дать пример кодирования, потому что это высоко зависит от контекста, но подсказка относительно того, как перейти через Ваше отделение, должна сделать нас из .nextSibling и .previousSibling, а также .firstChild и .childNodes.

0
ответ дан 4 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: