Files
chatroom/resources/js/chat-room/composer.js
T
2026-04-25 10:41:20 +08:00

30 lines
819 B
JavaScript

// 聊天输入区事件绑定,逐步替代底部输入栏内联提交事件。
let chatComposerEventsBound = false;
/**
* 绑定聊天表单提交事件。
* 发送主流程仍由 Blade 主脚本的 sendMessage 维护,这里只统一 submit 入口。
*
* @returns {void}
*/
export function bindChatComposerControls() {
if (chatComposerEventsBound || typeof document === "undefined") {
return;
}
chatComposerEventsBound = true;
document.addEventListener("submit", (event) => {
const form = event.target;
if (!(form instanceof HTMLFormElement) || !form.matches("[data-chat-form]")) {
return;
}
event.preventDefault();
if (typeof window.sendMessage === "function") {
void window.sendMessage(event);
}
});
}