<template> <div> <!-- <textarea v-model="text" @click="textr"></textarea> --> <div contenteditable="true" @click="textr" ref="editor" id="editor"> {{ content }} </div> <div class="flex" style="justify-content: center"> <el-button @click="toggleBold">加粗</el-button> <el-button @click="toggleUnderline">下划线</el-button> <el-button @click="toggleItalic">斜体</el-button> <el-input type="color" v-model="color" @input="changeColor" style="width: 50px" /> <el-select v-model="fontSize" @change="changeFontSize" id="fontSize" @click="handleClick"> <el-option @click="handleClick" v-for="data in fontSizeData" :key="data.label" :value="data.value" > {{ data.label }} </el-option> </el-select> <el-select v-model="font" @change="changeFont" id="font"> <el-option value="Arial">Arial</el-option> <el-option value="Verdana">Verdana</el-option> <el-option value="Times New Roman">Times New Roman</el-option> </el-select> <el-button @click="insertImage">插入图片</el-button> </div> <div>{{ formattedText }}</div> </div></template><script>export default { data() { return { text: '', htmlText: '', isBold: false, isUnderline: false, isItalic: false, color: '#000000', fontSizeData: [], fontSize: '17px', font: 'Arial', selectionStart: 0, selectionEnd: 0 }; }, created() { this.fontSizeData = [] for (let i = 17; i <= 40; i++) { this.fontSizeData.push({ label: i, value: i }) } }, mounted() { }, methods: { handleClick(event) { // 阻止事件冒泡传递到编辑器中 event.stopPropagation(); // 其他处理逻辑 // ...}, toggleBold() { document.execCommand("bold"); }, toggleUnderline() { document.execCommand("underline"); }, toggleItalic() { document.execCommand("italic"); }, changeColor() { // Handle color change logic document.execCommand("foreColor", false, this.color); }, changeFontSize() { // Handle font size change logic document.execCommand("fontSize", false, this.fontSize) }, changeFont() { // Handle font change logic document.execCommand("fontName", false, this.font); }, insertImage() { // Handle image insertion logic }, textr(e) { this.selectionStart = e.target.selectionStart this.selectionEnd = e.target.selectionEnd this.select = window.getSelection().toString() console.lo } }, computed: { formattedText() { return '' } }};</script><style lang="scss" scoped>div[contenteditable="true"] { border: 1px solid #cfcbcb; width: 80%; margin: auto; margin-top: 30px; margin-bottom: 10px; border-radius: 10px; box-shadow: 0px 0px 6px #efefef; outline: none; text-align: start; padding: 10px;}div[contenteditable="true"]:focus { border-color: #666666;}</style>
这份代码,现在有一个问题就是点击选择框,编辑器的光标就消失了,使用@click.prevent并不会成功
需要保留光标以及选中文本
我解决了,绑定v-on:blur="focus"
然后focus里面this.$refs.editor.focus();
如题所述,为何需要点击“选择时间”才会出现时间选择框。 下边是官网的例子,不需要点按钮,同时显示日期框和时间框
是否有可能设置IntelliJ IDEA,使我可以使用光标键进行列选择,类似于我在Notepad++、Visual Studio或FlashDeveloper中的操作。 例如,当我键入代码时,我几乎总是只通过使用键盘来完成导航。在前面提到的IDE中,我可以通过按住shift+alt,然后敲击将光标扩展到上面的行来快速选择代码块。然后,我可以按住Shift+Alt+Ctrl并点击或以快速跳过单词并选
我正在开发一个使用JTree的java应用程序。我想归档的是,当我点击一个已经被选中的节点时,它会被取消选中。 我目前的解决方案是向jtree添加鼠标侦听器和树选择侦听器。但问题是,valueChanged只有在选择发生更改时才会被调用(而不是在两次选择同一节点时)。为了解决这个问题,我添加了一个布尔值,它指示是否第一次单击了节点,然后我在MouseRelease函数中处理取消选择。这是可行的,但
本文向大家介绍解决IDEA鼠标点击光标变大问题,包括了解决IDEA鼠标点击光标变大问题的使用技巧和注意事项,需要的朋友参考一下 这一定是困扰刚开始使用idea工具同学的一个大问题。 三种情况会导致这种问题出现。 1、你不小心按了键盘上的insert按键 解决: 再按一次吧 2、你idea上面装了vim插件,会产生冲突的 解决: 赶紧卸载了 3、你setting里面设置的 解决: 看下图,去掉勾 补
我使用量角器在角应用端到端测试。我试图点击选择框中的选项,但我有以下错误元素目前不可见,可能无法操纵。 我有这部分html: 在量角器测试中我有一行代码: 我想点击值为“草稿”的选项。你知道可能是什么问题吗?
假设我们有一些s属于同一,当用户点击时,它被选中了。我想添加一个功能,当用户点击已经选中的时,它会被取消选中,即整个将不会选中。我已经搜索了提示使用的方法,method,clearSelection。但问题是,当用户单击已选择的JRadioButton时,它不会生成任何,而该事件是通过单击其他未选择的生成的。