2013-07-26 3 views
0

Я застрял здесь. Мне нужно сделать нажатие на одно поле, сосредоточиться на другом текстовом поле, чтобы вызвать событие нажатия клавиши, а затем снова сфокусироваться на исходном поле. Вот my semi-working fiddleJquery focus/outfocus on keypress

Вот код:

$('.editor').keyup(function() { 
    //console.log($('#purpose').val());                       
    $('#purpose').trigger('keyup'); 
}); 

$('#purpose').bind('keyup propertychange', function (e) { 
    //console.log(e);                            
    $("#purpose").focus(); 
    $("#purpose").val($('#purpose-editor').val()); 
    console.log($("#purpose").val()); 
    $('#purpose-editior').trigger('input'); 
}); 

$('#purpose-editor').bind('input propertychange', function (i) { 
    console.log(i); 
    $('#purpose-editor').focus(); 
}); 

Я могу ввести в верхнее поле и сосредоточиться на втором поле, однако я не могу сосредоточиться на исходных местах. Заранее спасибо!

+0

Почему сосредоточиться на втором редакторе? Если вы удалите '$ (« # цель »). Focus();' он отлично работает, и поскольку вы хотите удалить этот фокус почти мгновенно, действительно ли это действительно нужно? – tymeJV

+0

Просто из любопытства, почему первая 'textarea' в вашей Fiddle имеет атрибут' contenteditable'? – putvande

ответ

0

Вместо того, чтобы сосредоточиться каждый раз, вы можете просто попробовать это:

$('#purpose-editor').keyup(function() { 
    $('#purpose').val($('#purpose-editor').val()); 
}); 

Fiddle: http://jsfiddle.net/3E9mG/2/

+0

Хотелось бы, чтобы все было так просто. :(К сожалению, мне нужно сосредоточиться на поле, чтобы вызвать событие keydown. Если я не сосредоточусь на втором поле, событие keydown теперь выполнено. – user1462141

+0

Попробуйте следующее: http://jsfiddle.net/3E9mG/3/ –