当用户点击一个html div(#searchboxquicktab)时,我希望光标移动到一个输入框,它应该模拟一个按下的回车键,这样它就可以显示单击的结果。
这是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);
});
但这不起作用。
答案 0 :(得分:1)
触发键事件,将由收听它们的任何内容接收,但它们不会影响输入。我已经测试了你的代码,事件实际上被解雇了。
那就是说,我在传递中使用了一个名为jquery.sendkeys.js
的jQuery插件(参见https://github.com/dwachss/bililiteRange/blob/master/jquery.sendkeys.js)来模拟击键。
注意:jquery.sendkeys.js
需要bililiteRange.js
。
https://github.com/dwachss/bililiteRange/blob/master/bililiteRange.js