<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/vue/dist/vue.js"></script> <title>vue 获得当前无素并做相应处理</title> </head> <body> <div id="app"> <div id='ideditdiv' contenteditable="true" @click="OngetclickElement($event)">编辑文本的DIV</div> <p @click="OngetclickElement($event)">{{editText}}</p> <input type="text" @change="Onchange($event)" :value="inputvalue" /> </div> </body> <script> // 创建文本根 vue 实例 var vm = new Vue({ el: '#app', data: { editText: '不可编辑的p', inputvalue: 'input value' }, methods: { // 事件函数获得当前响应事件的元素的标签名与文本 OngetclickElement(evt) { console.log('当前元素标签:' + evt.currentTarget.nodeName) console.log('当前元素文本:' + evt.currentTarget.innerHTML) }, // 事件内容变化,先获得当前无素再获得新文本值 Onchange(evt) { console.log("内容变化事件 Onchange,新文本:" + evt.currentTarget.value) this.inputvalue = evt.currentTarget.value // 再记录新文本内容 console.log("data inputvalue = " + evt.currentTarget.value) } }, }); </script> </html>