2014-10-10 2 views
1

Когда пользователь нажимает на html div (#searchboxquicktab), я хочу, чтобы курсор переместился в поле ввода, и он должен имитировать нажатую клавишу ввода, чтобы она могла покажите результаты только из щелчка.jQuery onlick, выберите поле ввода и нажмите enter (rendered html)

Вот HTML:

<div class="form-type-textfield form-item-title form-item form-group"> 
<input placeholder="Start typing a name here to filter listing..." class="form-control form-text ctools-auto-submit-processed" id="edit-title" name="title" value="" size="30" maxlength="128" type="text"> 
<div id="searchboxquicktab"> 
    <span class="glyphicon glyphicon-search"></span>Search 
</div> 
</div> 

окно поиска (#searchboxquicktab) визуализируется с помощью JavaScript, следовательно, родительские и дочерние элементы в коде Jquery ниже

// Select textbox and press enter key to show results. 
$('.form-item-title').on("click", "#searchboxquicktab", function() { 
    console.log('search box quicktab button pressed.'); 
    var e = jQuery.Event("keydown"); 
    e.which = 13; // Enter 
    $('input.ctools-auto-submit-processed').focus().trigger(e); 
}); 

Но это не за работой. Не могу понять, где я ошибаюсь. Любая помощь будет оценена.

Большое спасибо.

+3

Есть ли уже обработчик, когда пользователь действительно нажимает клавишу ввода? Если это так, просто вызовите этот обработчик вместо запуска нажатия клавиши – tymeJV

ответ

1

Запущенные ключевые события будут приниматься любым прослушиванием, но они НЕ будут влиять на вход. Я проверил ваш код, и это событие действительно уволено.

При этом в переданном используется плагин jQuery под названием jquery.sendkeys.js (см. https://github.com/dwachss/bililiteRange/blob/master/jquery.sendkeys.js) для имитации нажатия клавиш.

ПРИМЕЧАНИЕ: jquery.sendkeys.js требует: bililiteRange.js. https://github.com/dwachss/bililiteRange/blob/master/bililiteRange.js.

Смежные вопросы