Javascript 如何使用jQuery在contenteditable div中移动carret?

Javascript 如何使用jQuery在contenteditable div中移动carret?,javascript,jquery,events,dom,Javascript,Jquery,Events,Dom,我正在尝试将插入符号定位到contenteditable div中。该div没有setSelectionRange或createTextRange。(我现在正在使用Chrome。) 因此,我测试了是否可以发送按键事件: var e = jQuery.Event("keypress", { keyCode : 39} ); jQuery(myDiv).trigger(e); 它不起作用。该事件不会显示在myDiv的处理程序中 在触发处理程序之前绑定处理程序时,应显示该事件: (function(

我正在尝试将插入符号定位到contenteditable div中。该div没有setSelectionRange或createTextRange。(我现在正在使用Chrome。)

因此,我测试了是否可以发送按键事件:

var e = jQuery.Event("keypress", { keyCode : 39} );
jQuery(myDiv).trigger(e);

它不起作用。该事件不会显示在myDiv的处理程序中 在触发处理程序之前绑定处理程序时,应显示该事件:

(function($){
    $(function() {
        $('#foobar').keypress(function(event) {
            console.log(event.which);
        });

        var e = $.Event("keypress", { which : 39} );
        $('#foobar').trigger(e);
    });
})(jQuery);
当您访问该页面时,将在控制台右侧记录
39


由于问题的编辑与您第一次提出的问题完全不同,请查看以下内容:


谢谢Alex,我只是在日志中遗漏了它。我不确定这是否有效(就在div中定位插入符号而言)啊,很好。我错过了使用createRange而不是createTextRange的示例。(如果我的问题不清楚,很抱歉,但我想我没有改变问题本身。)或者,再次阅读问题,我可以理解你的意思。;-)“在div中更改插入符号位置”会更好。。。