首页 文章

用于UI小部件的HTML5 Canvas库[已关闭]

提问于
浏览
21

我一直在寻找一个可以帮助嵌入在画布区域中的UI小部件的渲染和功能的库,例如组合框,复选框,单选按钮,文本区域,带滚动条的列表框等,而不会叠加普通的HTML将它们浮动在画布区域的顶部 . Flex为Flash提供了所有这些功能,并且有许多Actionscript库可以在Flash“画布”中创建UI小部件组件(可以这么说) . 这些UI小部件库在某些情况下很好地服务于Flash社区,在HTML5画布中的类似情况下也需要这样做 .

有谁知道这些库可以在哪里找到?

2 回答

  • 17

    虽然 Textarea 不是很丰富,但Zebra相当完整 .

    它使用LGPL许可证进行许可 .

    它的github是here .

  • 32

    我见过没有任何功能不足的ui小部件库,但我保证有一天它们会被制作,只是因为人们会要求它们(出于好的理由或坏的) .

    HTML5 Canvas规范本身强烈建议不要尝试这样做 . 正如规范所说:

    作者应避免使用canvas元素实现文本编辑控件 . 这样做有很多缺点:必须重新实现插入符号的鼠标放置 . 必须重新实现插入符号的键盘移动(可能跨行,用于多行文本输入) . 必须实现文本字段的滚动(水平对于长行,对于多行输入垂直) . 必须重新实现复制和粘贴等本机功能 . 必须重新实现诸如拼写检查之类的本机功能 . 必须重新实现诸如拖放之类的本机功能 . 必须重新实现页面范围文本搜索等本机功能 . 必须重新实现特定于用户的本机功能,例如自定义文本服务 . 这几乎是不可能的,因为每个用户可能安装了不同的服务,并且存在一组无限可能的此类服务 . 必须重新实现双向文本编辑 . 对于多行文本编辑,必须为所有相关语言实现换行 . 必须重新实现文本选择 . 必须重新实现拖动双向文本选择 . 必须重新实现平台本机键盘快捷方式 . 必须重新实现平台本机输入法编辑器(IME) . 必须重新实现撤消和重做功能 . 必须重新实现诸如插入符号或选择之后的放大率之类的辅助功能 .

    在Canvas中实现这些类型的事情是一场噩梦,尤其是今天,相同的字体不仅在每个浏览器中看起来不同,而且在Canvas呈现字体和浏览器呈现字体之间看起来不同 .

相关问题