繁体   English   中英

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

[英]How to move the carret in a contenteditable div using jQuery?

我正在尝试将插入符号放置在一个内容可编辑的div中。 div没有setSelectionRange或createTextRange。 (我目前正在使用Chrome。)

所以我测试了是否可以发送按键事件:

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

这是行不通的。 该事件不会显示在myDiv的处理程序中。 <=错误。 它确实显示在侦听器中,但插入符未移动。 (keyCode = 39是右箭头。)

有什么建议么?

绑定处理程序之前,应触发该事件:

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

        var e = $.Event("keypress", { which : 39} );
        $('#foobar').trigger(e);
    });
})(jQuery);

当您访问该页面时, 39在控制台中记录39

工作小提琴

由于问题的编辑与您最初提出的完全不同,请检查以下内容:

如何将光标移动到内容可编辑实体的末尾

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM