我想发送一个关键事件来模拟来自mytext2
的{{1}}。这意味着当我在mytext1
中输入“a”时,它也会显示在mytext1
中。当我按mytext2
上的退格键时,它也会受到mytext1
的影响。在某些情况下,mytext1除了mytext2
之外什么都没有,在这种情况下,当我按mytext2
上的退格键时,mytext1
中的最后一个字母应该是明确的('它表示我没有希望两个文本框内容相等')。这是我的代码:
mytext2
* 甚至删除,退格事件shuld触发mytext2。就像我在mytext2上做的那样,我在最初使用不同的内容将相同的按键放在不同的文本框上
谢谢,帮助我。 ------------------更新------------------------------- ------------------------------------认为mytext1最初的值为“ca”mytext2有“bea” ,当我在$('#mytext1').on('keydown',function(e){
var keyCode = e.keyCode || e.which;
$('#mytext2').trigger($.Event("keypress", { keyCode: keyCode }));
});
$('#mytext1').on('keypress',function(e){
var keyCode = e.keyCode || e.which;
this.val()+=keyCode;
});
<input type='text' id='mytext1' value='this not eq to txt2'/>
<input type='text' id='mytext2'value='this not eq to txt1'/>
上按“t”时,它应该受到mytext1
的影响。然后mytext2
将“猫”mytext2将“击败”。如果我在mytext1
中按两次退格键,则会产生mytext1
=&gt;“c”,mytext2 =&gt;“be”。对不起我的可怜解释。
答案 0 :(得分:1)
http://jsbin.com/urilox/1/edit
$('#mytext1').on('input', function() {
$('#mytext2').val(this.value);
} );
如果您需要处理“粘贴”事件,这也是一个很好的方法。 (现代浏览器)
非现代用途:keyup paste propertychange
对于他们之间的相互沟通 - 请执行以下操作:
$('#mytext1, #mytext2').on('input', function() {
$(this).siblings().val(this.value); // put both your inputs strictly inside a neutral parent!
} );
或只是
var $a=$('#mytext1'), $b=$('#mytext2');
$a.on('input', function() {
$b.val(this.value);
} );
$b.on('input', function() {
$a.val(this.value);
} );
答案 1 :(得分:0)
http://jsfiddle.net/coma/kNPRM/4/
$(function() {
var a = $('#a');
var b = $('#b');
var foo = function(input, string, code) {
switch(code) {
case 8:
var s = input.val();
input.val(s.substr(0, s.length -1));
break;
default:
var c = String.fromCharCode(code);
if(c.match(/\w/)) {
input.val(input.val() + string.slice(-1));
}
}
};
a.on('keyup', function(event) {
foo(b, this.value, event.keyCode);
});
b.on('keyup', function(event) {
foo(a, this.value, event.keyCode);
});
});