【问题标题】:Socket.IO + EmojiSocket.IO + 表情符号
【发布时间】:2015-07-28 01:38:17
【问题描述】:

几周以来我一直在处理一个表情符号问题。我一直在尝试使用 socket.io 将表情符号添加到聊天中。 我试过 CSS emoji、Javascript emoji 等等。我尝试了不同的选择,但似乎没有任何效果。我有点绝望,因为尽管我尝试使用不同的选项,但我根本没有显示“表情符号”。

现在我正在使用这个存储库:https://github.com/wedgies/jquery-emoji-picker 我检查了自述文件,按照示例进行操作,不,没有再次工作。

这是我的 HTML 代码,第一个 CSS 是我用于 socket.io 的那个

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Chat</title>
  <link rel="stylesheet" href="style.css">




<link rel="stylesheet" type="text/css" href="css/jquery.emojipicker.css">
  <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
  <script type="text/javascript" src="js/jquery.emojipicker.js"></script>

  <!-- Emoji Data -->
  <link rel="stylesheet" type="text/css" href="css/jquery.emojipicker.a.css">
  <script type="text/javascript" src="js/jquery.emojipicker.a.js"></script>

  <script type="text/javascript">
    $(document).ready(function(e) {

      $('#text-custom-trigger').emojiPicker({
        width: '300px',
        height: '200px',
        button: false
      });

      $('#input-default').emojiPicker();

      $('#input-custom-size').emojiPicker({
        width: '300px',
        height: '200px'
      });

      $('#input-left-position').emojiPicker({
        position: 'left'
      });

      $('#trigger').click(function(e) {
        e.preventDefault();
        $('#text-custom-trigger').emojiPicker('toggle');
      });

    });
  </script>

  <style type="text/css">

    #emojiPickerWrap {margin:10px 0 0 0;}
    .field { padding: 20px 0; }
    textarea { width: 400px; height: 200px; }
  </style>


</head>
<body>
  <ul class="pages">
    <li class="chat page">
      <div class="chatArea">
        <ul class="messages"></ul>
      </div>
      <input class="inputMessage" id="input-default" placeholder="¿Qué quieres decir?"/>
    </li>
    <li class="login page">
      <div class="form">
        <h3 class="title">Ingresa un nombre de usuario</h3>
        <input class="usernameInput" type="text" maxlength="14" />
      </div>
    </li>
  </ul>

  <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
  <script src="/socket.io/socket.io.js"></script>
  <script src="/main.js"></script>


</body>
</html>

我知道这很容易,但知道这更令人沮丧。 感谢您的帮助和建议。

最好的问候。

【问题讨论】:

  • 您好,欢迎来到 Stack Overflow。请比“没有用”更详细地描述您的问题。什么,具体没用?拣货员?在这种情况下,为什么 socket.io 是相关的?您的 sn-p 中没有任何与 socket.io 相关的代码。 (另外,sockets 标记非常不同——甚至在客户端 JS 中都不可用;您可能的意思是 socket.io。)控制台中是否有错误?细节,伙计! :)
  • 他说什么,发个Fiddle!它将帮助我们进行调查。
  • @Amadan 感谢您的回复。我更新了一些代码并添加了一个小提琴。很抱歉,我以为我已经提供了很多信息。无论如何,没有工作意味着选择器没有出现。 jsfiddle.net/pddjd9re
  • 无需道歉,感谢您的澄清。
  • @Amadan 再次感谢。所以想法是将两个输入“class="inputMessage" 和 class="emojiable-option" 连接在一起,在我的代码中它们不能分开而不是混合。

标签: javascript jquery css socket.io


【解决方案1】:

我没有您在开发环境中可能拥有的所有代码,但根据您提供的内容,我能够组合一个 JSFiddle,它似乎对我来说工作正常。 JSFiddle 这段代码似乎很好地显示了表情符号按钮 - $('#input-default').emojiPicker();

【讨论】:

  • 它在您的系统中不起作用,因为您需要加载表情符号库。如果你看我的小提琴,在左侧菜单上你会看到“外部资源”。如果您在小提琴中加载相同的资源,它将正常工作。你也没有加载 jQuery。这是您刚刚使用适当的库更新的小提琴。 https://jsfiddle.net/pddjd9re/1/
【解决方案2】:

您的代码运行没有任何问题,请参阅下面的演示。

$(document).ready(function(e) {

  $('#text-custom-trigger').emojiPicker({
    width: '300px',
    height: '200px',
    button: false
  });

  $('#input-default').emojiPicker();

  $('#input-custom-size').emojiPicker({
    width: '300px',
    height: '200px'
  });

  $('#input-left-position').emojiPicker({
    position: 'left'
  });

  $('#trigger').click(function(e) {
    e.preventDefault();
    $('#text-custom-trigger').emojiPicker('toggle');
  });

});
#emojiPickerWrap {
  margin: 10px 0 0 0;
}
.field {
  padding: 20px 0;
}
textarea {
  width: 400px;
  height: 200px;
}
<!DOCTYPE html>
<head>
  <meta charset="utf-8">
  
<link rel="stylesheet" type="text/css" href="https://rawgit.com/wedgies/jquery-emoji-picker/master/css/jquery.emojipicker.css">
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="https://rawgit.com/wedgies/jquery-emoji-picker/master/js/jquery.emojipicker.js"></script>

<!-- Emoji Data -->
<link rel="stylesheet" type="text/css" href="https://rawgit.com/wedgies/jquery-emoji-picker/master/css/jquery.emojipicker.a.css">
<script type="text/javascript" src="https://rawgit.com/wedgies/jquery-emoji-picker/master/js/jquery.emojipicker.a.js"></script>
</head>

<ul class="pages">
  <li class="chat page">
    <div class="chatArea">
      <ul class="messages"></ul>
    </div>
    <input class="inputMessage" placeholder="¿Qué quieres decir?" />
    <input type="text" id="input-default" class="emojiable-option" placeholder="Default">
  </li>
  <li class="login page">
    <div class="form">
      <h3 class="title">Ingresa un nombre de usuario</h3>
      <input class="usernameInput" type="text" maxlength="14" />
    </div>
  </li>
</ul>

如果您看到的是正方形而不是图标,则您的操作系统没有支持这些符号的字体。例如,对于 Windows 7,您需要安装更新 KB2729094,有关详细信息,请参阅 this article

另外,您包含两个 jQuery 库副本,删除旧的 1.10.2。

【讨论】:

  • 这个想法是将这两个输入 "class="inputMessage" 和 class="emojiable-option" 一起放在一行中。当我尝试这样做时,它不起作用。我我正在运行 Ubuntu。当我尝试演示时,我看到了表情符号的面孔。我删除了旧的 jQuery 库。
  • 为什么不能删除&lt;input class="inputMessage"&gt;,其他输入法还是可以输入文字和表情符号。
  • 我试过了,这是我测试代码时做的第一件事。我截取了屏幕截图:imgur.com/FyEFOtF 所以图片 1 是可以正常工作的图片,图片 2 是应该有选择器的图片。
猜你喜欢
  • 2014-03-27
  • 2016-02-29
  • 1970-01-01
  • 2015-12-31
  • 1970-01-01
  • 2021-10-11
  • 1970-01-01
  • 2023-03-04
相关资源
最近更新 更多