【问题标题】:Trigger Keypress event of a input field on keypress of another input field?在另一个输入字段的按键上触发输入字段的按键事件?
【发布时间】:2014-02-25 11:29:22
【问题描述】:
我有两个输入字段,我想在另一个输入字段的按键上触发一个输入字段的按键。
我试过的是
$('#example').keypress(function(event) {
var press = jQuery.Event("keypress");
var code = event.keyCode || event.which;
press.which = code ;
$('#search').trigger(press);
});
示例和搜索都是输入字段。为什么我这样做是因为当我在简单字段中输入文本时,它必须在另一个过滤搜索结果的字段中输入文本。
【问题讨论】:
标签:
javascript
jquery
html
【解决方案1】:
试试这个:
JavaScript
$('#example').on('keypress keyup keydown',function(event) {
// create the event
var press = jQuery.Event(event.type);
var code = event.keyCode || event.which;
press.which = code ;
// trigger
$('#search').val(this.value);
$('#search').trigger(event.type, {'event': press});
});
// Omit - Check if search box reacts
$('#search').on('keypress keyup keydown',function(event) {
// sample
console.log(event.type);
});
在这里演示:http://jsbin.com/pebac/1/edit
请注意,即使您成功触发了按键事件,这也不是真正的事件,这意味着字符不会附加到输入中。
【解决方案2】:
猜它就像 $.click()
$('#search').keypress();
【解决方案3】:
如果您只想将一个字段的内容复制到另一个字段,我会说最好使用$('#search').val($(this).val()); 而不是在#search 上触发按键事件。