如何动态地添加文本,就像在MS油漆文本框使用拉斐尔



我想复制在页面中编写文本的用户体验,就像我们在MS Paint中所做的那样。就像当我们点击拉斐尔页面时,应该出现一个固定长度的框,并给出输入文本的空间,这些文本应该动态添加到拉斐尔页面。当文本长度超过首选大小时,它应该像在MS Paint中一样进行换行。

第一个解决方案:为Raphael的容器创建.on('click')事件处理程序,它将在单击位置创建一个文本区域。样式这个文本区域的CSS规则-绝对定位到一个地方的点击;设置width-height;删除边界,使透明的背景,以实现一种错觉,你正在输入文本直接到拉斐尔的画布。然后将键监听器附加到文本区域(如果您需要输入新换行键,则监听"Ctrl+Enter"上的"Enter")。输入键将创建拉斐尔。文本元素。

第二个解决方案:点击画布后-创建一个隐藏的文本区域(set CSS {position: absolute;左:-9999px}来隐藏它,不要使用{display: none})。也创造拉斐尔。单击位置上的文本对象。然后,当您输入时,文本将添加到隐藏的文本区域-每次按下键读取其值并更新Raphael的文本对象。

最新更新