Cordova退格无法删除可疑div中的图像

时间:2015-05-03 18:31:25

标签: android cordova contenteditable keyevent backspace

我在Visual Studio 2013社区更新4中使用Cordova 3.6.4来构建具有“聊天”功能的应用程序,我使用此技术的主要原因是因为我希望能够编写一次并且可以使用它适用于所有平台,如Android手机,iPhone,所有手机浏览器,所有桌面浏览器。

为了让用户输入要发送的“消息”,我在html的左下角创建了一个[div],它是contenteditable =“true”,在[div]的右边,我有两个[图像按钮],一个是[笑脸]按钮,另一个是[发送按钮]。 (你知道,就像Whatsapp,Line和WeChat一样!)

用户可以随时点击[笑脸]按钮选择多个“脸部图像”中的一个插入[div]中的光标,然后我将html代码添加到[div]中,例如div.innerHTML + ='< img src =“1.jpg”>'

因此,这个[div]的innerHTML可以包含字符和图像,例如

12< img src="1.jpg" />34< img src="2.jpg" />

当然,实际显示是:

12[1st Picture]34[2nd Picture]

如果光标位于此[div]的末尾,并且我单击了[BACKSPACE],我希望[2nd Picture]将被删除,如果我再次单击[BACKSPACE],我希望这封信[4] ]将从[div]中删除,这是在我提到的每个平台的ALMOST工作,包括android和iphone / ipad中的所有移动浏览器,所有桌面浏览器。但是,当我构建Android应用并在任何Android手机中运行时,它都无效。

在Android手机中将其作为WebView运行,当我单击[BACKSPACE]时,删除字母[4]而不是[第二张图片],当我再次单击[BACKSPACE]时,字母[3]已移除。无论我使用哪种IME,我都不能删除2张图像。

为了解决这个问题,我尝试将一个keyup / keydown / keypress监听器添加到[BACKSPACE],但它永远不会触发。

最后,要解决这个[BUG],我需要添加第三个[X]图像按钮,并在用户单击此[X]按钮时使用JavaScript string.replace删除< img>标记,但是它看起来对用户来说非常愚蠢!

让我疯狂的是,所有IME都不会通过按[BACKSPACE]为我删除图像,如果没有触发关键事件,我自己无法删除图像!

我认为,我尝试了几乎所有由stackoverflow提供的建议,但它们根本不起作用,或者不适用于CORDOVA,或者在Visual Studio中出现编译错误,例如[命令失败,退出代码为8]。 / p>

我该怎么办?

0 个答案:

没有答案
相关问题