Contenteditable = trueを介して要素の変更を検出するために、vue.jsイベントをバインドしようとしています。
<div id="test" contenteditable="true" v-on-input="trigger" v-model="test"></div>
これにより、vue.js vueのtriggerメソッドがトリガーされますが、モデル値を取得できないようです。
入力イベントの後にinnerHTML/innerTextを取得する方法を知っている人はいますか?
助けてくれてありがとう!
私のvue.jsコンポーネントでevent.target.innerText
を使用して解決しました
簡単な説明:
テンプレート:
<div contenteditable="true"
v-html="myHtmlCode"
@input="onDivInput($event)">
</div>
脚本:
Methods:{
onDivInput: function(e) {
this.myHtmlCode = e.target.innerHTML;
console.log('Text: %o', this.myHtmlCode );
},
},
_export default {
data() {
return {
content: null
}
},
methods: {
onFocusOut: function(e) {
this.content = e.target.innerHTML
}
}
}
_
<div contenteditable="true" v-html="content" @focusout="onFocusOut($event)"></div>
1行は@inputの代わりに@blurのみを使用します
<h1 contenteditable="true" @blur="test = event.target.innerText">{{test}}</h1>