Преглед на файлове

无障碍:暂时把指读功能的mouseover响应函数里的提取文本操作加上debounce

任一存 преди 3 години
родител
ревизия
fe5fda430b
променени са 1 файла, в които са добавени 20 реда и са изтрити 6 реда
  1. 20 6
      web/src/views/accessibility.vue

+ 20 - 6
web/src/views/accessibility.vue

@@ -466,6 +466,8 @@ export default {
         URL=${this.$homePageUrl}
       `),
 
+      debounceScheduler: null,
+
       audioPlayer: null,
 
       navigationAreaNum: null,
@@ -602,6 +604,17 @@ export default {
     },
   },
   created() {
+    this.debounceScheduler = new utils.DebounceScheduler(function(e) {
+      console.log('!!!!!');
+      const extractedText = utils.extractTextForMagnify(e)
+      if (extractedText) {
+        this.elemType = extractedText.elemType
+        this.elemDisc = extractedText.elemDisc
+
+        this.planToPlayAudio()
+      }
+    }, 1000, this)
+
     this.loadStoredSettings()
     // 在同一个域的多个页面间做同步
     window.addEventListener('storage', this.loadStoredSettings, {
@@ -820,13 +833,14 @@ export default {
       if (!this.ariaSettings.isCompActive) {
         return
       }
-      const extractedText = utils.extractTextForMagnify(e)
-      if (extractedText) {
-        this.elemType = extractedText.elemType
-        this.elemDisc = extractedText.elemDisc
+      // const extractedText = utils.extractTextForMagnify(e)
+      // if (extractedText) {
+      //   this.elemType = extractedText.elemType
+      //   this.elemDisc = extractedText.elemDisc
 
-        this.planToPlayAudio()
-      }
+      //   this.planToPlayAudio()
+      // }
+      this.debounceScheduler.planToDo(e)
     },
     onMouseOverForContinueRead(e) {
       if (!this.ariaSettings.isCompActive) {