当前位置:首页 > JavaScript

js实现评论发送表情

2026-04-04 20:09:20JavaScript

实现评论发送表情的步骤

准备工作 确保HTML中有一个评论输入框和一个表情选择面板。表情可以用Unicode字符或图片表示。

HTML结构示例

<div class="comment-box">
  <textarea id="comment-input" placeholder="输入评论..."></textarea>
  <div class="emoji-panel">
    <span class="emoji" data-emoji="😀">😀</span>
    <span class="emoji" data-emoji="😂">😂</span>
    <!-- 更多表情 -->
  </div>
  <button id="submit-comment">发送</button>
</div>

JavaScript实现 监听表情点击事件,将选中表情插入到输入框光标位置。

js实现评论发送表情

document.querySelectorAll('.emoji').forEach(emoji => {
  emoji.addEventListener('click', function() {
    const input = document.getElementById('comment-input');
    const cursorPos = input.selectionStart;
    const emojiChar = this.getAttribute('data-emoji');

    input.value = input.value.substring(0, cursorPos) + 
                 emojiChar + 
                 input.value.substring(cursorPos);

    input.focus();
    input.setSelectionRange(cursorPos + emojiChar.length, cursorPos + emojiChar.length);
  });
});

存储和显示评论 当用户提交评论时,将内容保存并显示在页面上。

document.getElementById('submit-comment').addEventListener('click', function() {
  const comment = document.getElementById('comment-input').value;
  if (comment.trim()) {
    const commentList = document.createElement('div');
    commentList.className = 'comment';
    commentList.textContent = comment;
    document.body.appendChild(commentList);
    document.getElementById('comment-input').value = '';
  }
});

增强功能建议

使用表情图片 如果不想用Unicode字符,可以使用图片作为表情。

js实现评论发送表情

<span class="emoji" data-emoji=":smile:">
  <img src="smile.png" alt="smile">
</span>

表情面板切换 添加按钮控制表情面板的显示/隐藏。

document.getElementById('toggle-emoji').addEventListener('click', function() {
  const panel = document.querySelector('.emoji-panel');
  panel.style.display = panel.style.display === 'none' ? 'block' : 'none';
});

移动端优化 对于移动设备,可以考虑使用系统自带的表情键盘。

document.getElementById('comment-input').addEventListener('focus', function() {
  this.setAttribute('inputmode', 'emoji');
});

标签: 表情js
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…