瀏覽代碼

Add a call by name via @

Visman 2 年之前
父節點
當前提交
9c07f6b7ac
共有 1 個文件被更改,包括 15 次插入0 次删除
  1. 15 0
      public/js/scloader.js

+ 15 - 0
public/js/scloader.js

@@ -13,11 +13,13 @@ ForkBB.editor = (function (doc, win) {
     'use strict';
 
     var instance,
+        nameSelector = ".f-username",
         dataName = "data-SCEditorConfig",
         emotName = "data-smiliesEnabled",
         linkName = "data-linkEnabled",
         selector = "textarea[" + dataName + "]",
         textarea,
+        elForScroll,
         options = {
             format: 'bbcode',
             icons: 'monocons',
@@ -83,6 +85,19 @@ ForkBB.editor = (function (doc, win) {
                 instance.emoticons(true);
             }
         }
+
+        elForScroll = textarea.parentNode;
+        var users = doc.querySelectorAll(nameSelector);
+
+        for (var node of users) {
+            var a = doc.createElement("a");
+            a.textContent = "@";
+            a.addEventListener('click', function (e) {
+                instance.insert("[b]" + e.target.parentNode.textContent + "[/b], ");
+                elForScroll.scrollIntoView({behavior: "smooth", block: "end"});
+            });
+            node.insertBefore(a, node.firstChild);
+        }
     }
 
     return {