Javascript 覆盖由contentEditable创建的内部html

Javascript 覆盖由contentEditable创建的内部html,javascript,jquery,html,contenteditable,Javascript,Jquery,Html,Contenteditable,我正在用html+js编写一个类似Soulver的应用程序。我需要自定义输入文本(突出显示)。对于输入im,在div中每次输入后,使用显示新div。我如何为其分配id或使用\n覆盖所有内部div,如在textarea中。有什么想法吗?每次按下键后,您可以循环查看div并向其添加attr: $('#your-editable-div').live('keyup', function() { $(this).children('div').each(funct

我正在用html+js编写一个类似Soulver的应用程序。我需要自定义输入文本(突出显示)。对于输入im,在div中每次输入后,使用
显示新div。我如何为其分配id或使用\n覆盖所有内部div,如在textarea中。有什么想法吗?

每次按下
键后,您可以循环查看
div
并向其添加
attr

        $('#your-editable-div').live('keyup', function() {
            $(this).children('div').each(function(index) {
                $(this).attr('id', 'element-'+index);
            });
        });

需要注意的一点是contentEditable而不是contentEditable。IE7因此中断

你在Mac上测试Firefox吗?Chrome和Safari没有相同的问题

您可以检测Enter键,然后停止默认操作。然后,您可以插入任何您想要的内容,而不是特定于浏览器的内容

使用jQuery(未测试)

有关如何在光标位置插入的信息,请参见此问题

//prevent users from typing on datepickers
 $("body").delegate('[contentEditable="true"]', "keypress", function(event)
 {
    //detect and override enter key press
    if(event.which==8)
    {
        event.preventDefault(); /* stop default */
        /* More code to insert something at the mouse location */
    }
 });