@onmouseup 未在 vuejs 2 上触发
2017-02-28
6546
完整代码: https://github.com/kenpeter/test_vue_simple_audio_1
我将
@onmouseup
附加到
input range
。当我拖动滑块时,
progressChange
似乎没有被调用。
<input
type="range"
:min="0"
:step="1"
v-model="current"
:value="current"
:max="duration"
@onmouseup="progressChange()"
/>
以下是
methods
methods: {
timeChange: function () {
this.current = this.$refs.player.currentTime;
},
getDuration: function () {
this.duration = this.$refs.player.duration;
},
toggleStatus: function () {
var player = this.$refs.player;
this.isPause ? player.play() : player.pause();
this.isPause = !this.isPause;
},
next: function () {
if (this.audioIndex == this.songs.length - 1) {
if (this.repeat) {
this.audioIndex = 0;
}
} else {
this.audioIndex++;
}
},
prev: function () {
if (this.audioIndex == 0) {
if (this.repeat) {
this.audioIndex = this.songs.length - 1;
}
} else {
this.audioIndex--;
}
},
progressChange() {
console.log("progress change");
},
1个回答
回答这个问题是为了给将来寻找类似问题的人提供参考:
问题是调用事件时的名称错误,因为 VueJS 使用
@even
语法,其中
@
替换 'on',因此您必须使用:
- @mouseup
- @click
- @keyup:keyname
- @input
- @customEventEmitedByComponent
Marek Urbanowicz
2017-02-28