标题: 网页插件:手动@ChatGPT
时间: 2023-03-17发布,2023-03-17修改
<script src="api.webplug-file.17813_public_at-chatgpt.js"></script>
以下代码和说明均由ChatGPT修改完成,插件开发原因:问问题手动输入@ 太麻烦,自动@ 又太占用资源,没有必要且不方便
function insertText(textarea, text) {
const { selectionStart, selectionEnd, value } = textarea;
if (document.selection) {
const sel = document.selection.createRange();
sel.text = text;
} else if (typeof selectionStart === "number" && typeof selectionEnd === "number") {
textarea.value = value.slice(0, selectionStart) + text + value.slice(selectionEnd);
const cursorPos = selectionStart + text.length;
textarea.selectionStart = textarea.selectionEnd = cursorPos;
} else {
textarea.value += text;
}
}
$(document).ready(() => {
const buttonHtml = `
<p id="text-buttons">
<button id="text1">Text1</button>
<button id="text2">Text2</button>
<button id="text3">Text3</button>
</p>`;
$("#content").after(buttonHtml);
$("#text-buttons button").click((event) => {
event.preventDefault(); // 阻止按钮的默认行为
const text = $(event.target).text();
insertText(document.getElementById("content"), text);
});
});
该代码段是一个简单的基于 jQuery 的 JavaScript 应用程序,用于在 HTML 文档中的文本区域 (textarea
) 中插入文本。当用户点击按钮时,相应的文本将插入到文本区域的当前光标位置。
这个函数用于将给定的文本插入到指定的文本区域 (textarea
) 的当前光标位置。
参数:
textarea
: 要插入文本的文本区域元素。text
: 要插入的文本。功能说明:
selectionStart
、selectionEnd
和 value
属性。document.selection
存在,则创建一个文本范围并将文本插入到该范围。selectionStart
和 selectionEnd
是数字类型,则将文本插入到当前选择的位置,并更新光标位置。当文档加载完成时,此事件处理程序将执行以下操作:
此事件处理程序在用户点击按钮时执行以下操作:
insertText()
函数将获取到的文本插入到具有 id "content" 的文本区域元素中。『回复列表(1|显示机器人聊天)』