0

我想发送一个关键事件来模拟mytext2mytext1这意味着当我在其中键入“a”时,mytext1它应该也会显示。mytext2当我按下退格键时,mytext1它应该也会受到影响mytext2。在某些情况下,mytext1mytext2只剩下一些东西,在这种情况下,当我按下退格键时,mytext1它应该清楚最后一个字母mytext2('它说我不希望两个文本框内容相等')。这是我的代码:

$('#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'/>

*即使删除,退格事件也应该触发到 mytext2。就像我在 mytext2 上做的那样。认为我最初在不同的文本框上放置了相同的按键,但内容不同

谢谢,帮帮我。 - - - - - - - - - 更新 - - - - - - - - - - - - - - - - ------------------------------------ 最初认为 mytext1 的值为“ca” mytext2 的值为“bea” ,当我按“t”时,mytext1它应该会受到影响mytext2。然后mytext1将是“cat” mytext2 将是“beat”。如果我按两次退格键,mytext1结果将是mytext1=>“c”,mytext2=>“be”。对不起我可怜的解释。

4

2 回答 2

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);
} );
于 2013-05-01T11:49:32.627 回答
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);

    });

});
于 2013-05-01T11:48:31.180 回答