javascriptvue.jsvuejs2onmouseup

@onmouseup not firing at vuejs 2


Full code: https://github.com/kenpeter/test_vue_simple_audio_1

I attach @onmouseup to input range. When I drag the slider, progressChange seems not be called.

<input 
  type="range"
  :min="0" 
  :step="1"
  v-model="current"

  :value="current"
  :max="duration"
  @onmouseup="progressChange()"
  />

Here is the 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");
    },

Solution

  • To answer this question for future reference for people who would be looking for similar issues:

    The issue was the wrong name on calling event as VueJS uses syntax of @even where @ replaces 'on`, so you have to use: