美文网首页
Vue.js 截获 Ctrl+S 组合键以及自动保存(提交)功能

Vue.js 截获 Ctrl+S 组合键以及自动保存(提交)功能

作者: rollingstarky | 来源:发表于2020-12-14 22:12 被阅读0次

默认情况下,Chrome 中按下 Ctrl+S 组合键会进入“保存网页”界面,并不会与网页中的具体内容做交互。

最近在做一个前端基于 Vue 的在线文档,希望网页中按下 Ctrl+S 组合件就能触发提交动作,将前端数据的改动存储到后端数据库中。
并且不管用户是否操作,每隔特定时间也会自动提交文档的当前内容到后端,实现自动保存的功能。

示例代码如下:

<template>
  <button @click="save('button')">保存</button>
</template>

<script>

export default {
  mounted() {
    document.addEventListener('keydown', this.saveContent)

    this.timer = setInterval(() => {
      this.save('timer')
    }, 10 * 1000)
  },

  beforeDestroy() {
    document.removeEventListener('keydown', this.saveContent)
    clearInterval(this.timer)
  },

  methods: {
    save(type) {
      console.log(`content saved by ${type}`)
    },
    saveContent(e) {
      var key = window.event.keyCode ? window.event.keyCode : window.event.which
      if (key === 83 && e.ctrlKey) {
        this.save('hot key')
        e.preventDefault()
      }
    }
  }
}
</script>

相关文章

  • Vue.js 截获 Ctrl+S 组合键以及自动保存(提交)功能

    默认情况下,Chrome 中按下 Ctrl+S 组合键会进入“保存网页”界面,并不会与网页中的具体内容做交互。 最...

  • block

    block是C语言的扩充功能。带有自动变量的匿名函数 截获自动变量值保存该自动变量的瞬间值 block语法表达式中...

  • Block实现原理

    Block是带有自动变量值的匿名函数; 带有自动变量值在Block中表现为截获自动变量值; 自动变量值截获只能保存...

  • Block原理分析(1)

    前情提要 1.闭包、Block是一个带有自动变量值(可以截获自动变量值)的匿名函数。截获的含义是保存该自动变量的瞬...

  • iOS Block学习笔记(五) -- Block截获静态变量(

    上一节分析了Block截获int, char*类型自动变量的源码, 发现Block内部用成员变量的形式保存了被截获...

  • 第二章 2.2.4 __block说明符

    上一节截获自动变量值,只能保存在执行Block语法时表达式中使用的外部自动变量瞬间的值,保存后不能修改外部自动变量...

  • vim下按了ctrl+s后造成编辑界面没有反应的解决办法

    昨天在Linux命令终端下使用vim编辑器编辑了一个文件,在修改完成后,下意识按了组合键ctrl+s保存,导致不能...

  • iOS中block的理解

    本文的主要内容涉及block的含义,完整的表达式,截获自动变量值,截获自动变量,内存管理以及避免循环引用,另附上2...

  • 文件自动备份——解决 Axure 自动退出导致的编辑记录丢失问题

    更新:下述方式也不能很好的实现自动备份,原因是 Axure 文档每次 Ctrl+S 也并非会立即保存,在保存成功前...

  • Block

    blocks是C语言的扩充功能。blocks是带有自动变量(局部变量)的匿名函数。 截获自动变量 结果:val =...

网友评论

      本文标题:Vue.js 截获 Ctrl+S 组合键以及自动保存(提交)功能

      本文链接:https://www.haomeiwen.com/subject/ntdiwktx.html