http://jsfiddle.net/ZjYT2/2/
Bạn không thể ngăn chặn mất sự tập trung của div có thể chỉnh sửa, nếu không bức tranh toàn cảnh không thể làm việc, nhưng bạn có thể lưu trữ các vị trí dấu nháy và khôi phục lại nó sau (một đơn giản sẽ làm cho focus
dấu mũ để đi đến đầu thay vì vị trí ban đầu).
Thật không may, trong div có thể chỉnh sửa nội dung, phương pháp để có được lựa chọn hiện tại phức tạp hơn nhiều so với chỉ đọc/đặt giá trị selectStart
(được sử dụng bởi textareas). Cách tốt nhất là sử dụng một thư viện bên ngoài cho rằng: https://code.google.com/p/rangy/
var $keyIn = $('#keyIn');
var savedSel;
$keyIn.bind('keydown mouseup', function(){
savedSel = rangy.saveSelection();
})
$('#map').bind('mouseup', function(){
rangy.restoreSelection(savedSel);
savedSel = rangy.saveSelection();
$keyIn.focus();
});
Vấn đề với "k" và "m" chìa khóa vẫn xảy ra nhưng chỉ trong Chrome
Nguồn
2013-08-17 22:47:55
Bạn có may mắn với giải pháp không? –