我正在构建一个具有大量文本编辑功能的Ionic应用程序,我想自定义在选择文本时显示的上下文菜单(如下所示)。
如何在此菜单中添加按钮?可以进一步定制吗?是否可以将菜单完全切换为某些自定义HTML菜单,否则用户选择文本时会出现其他菜单?
我已经看到了cordova-plugin-context-menu插件,但它似乎不是我所需要的(尽管很难说,因为它没有任何屏幕截图,而且我不确定是否相同)我正在谈论的“上下文菜单”。
答案 0 :(得分:2)
Ben Nadel 在Angular上有一个可用的解决方案(对他的解决方案https://www.bennadel.com/blog/3439-creating-a-medium-inspired-text-selection-directive-in-angular-5-2-10.htm表示敬意),该解决方案仅适用于不适用于Input元素(https://developer.mozilla.org/en-US/docs/Web/Events/selectionchange)的标签,在Ionic> V4上进行以下调整,
步骤1: 通常,当我们使用离子cli创建指令时,会将参考信息推送到app.module.ts。如果您在其他页面上使用指令,请从app.module.ts中删除指令,并将其包含在component.module.ts < / p>
第2步:
在text-select.directive.ts上,将mousedown替换为touchend,将mouseup替换为touchstart事件。
更新
不幸的是,此文本选择适用于标签,但不适用于输入 元素,检查 https://developer.mozilla.org/en-US/docs/Web/Events/selectionchange 浏览器兼容性部分