首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >覆盖由contentEditable创建的内部html

覆盖由contentEditable创建的内部html
EN

Stack Overflow用户
提问于 2011-03-31 20:04:20
回答 2查看 1.1K关注 0票数 0

我正在用html+js编写一个类似于Soulver的应用程序。我需要从输入自定义文本(突出显示)。对于输入,每次在div中输入之后,使用<div contenteditable="true"></div>的im都会出现新的div。我如何分配id给它。或者用\n覆盖所有内部div,就像在textarea中一样。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-31 20:22:06

在每个keyup之后,您可以遍历divs并向其添加attr

代码语言:javascript
运行
复制
        $('#your-editable-div').live('keyup', function() {
            $(this).children('div').each(function(index) {
                $(this).attr('id', 'element-'+index);
            });
        });
票数 1
EN

Stack Overflow用户

发布于 2011-04-02 23:35:04

有一件事需要注意,那就是contenteditable是不可满足的。IE7因此而中断。

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

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

使用jQuery (未测试)

代码语言:javascript
运行
复制
//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 */
    }
 });

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

Contenteditable text editor and cursor position

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5499534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档