带有表情符号属性数据的文本框 - 按键时,emojiable =“true”无法正常工作

时间:2016-11-10 13:35:04

标签: html keypress

我最初的HTML

<div class="p-10 p-chat-box">
<div class="input-group">
  <span  class="input-group-addon">
   <img src="assets/images/emojis/1f603.png" class="letter-icon">
  </span>
  <p class="lead emoji-picker-container"><input id="readyforchat" data-emojiable="true" type="text" class="form-control" placeholder="Add a message ..."></p>
  </span>' + attachMentList + '<span style="cursor:pointer;" onclick=NewsWidget.startchat(event) class="input-group-addon">
  <i class="icon-arrow-right6"></i>
  </span>
</div>
</div>

我正在使用emojji.js在文本框中生成表情符号,其中data-emojiable =“true”属性html在应用(emojiable =“true”)之后看起来像输入类型=“text”

来自收藏夹的Web链接
写一个注意事项
选择一个文件
来自图库的照片

id为“readyforchat”。但我的问题是jQuery keypress事件没有在这个id“readyforchat”上工作。请帮助我如何实现这个目标。 提前谢谢。

4 个答案:

答案 0 :(得分:0)

Please Add this code .
chat_form is claas of your form and chat_box is your chat input field class.

<script type="text/javascript">
$('.comment_reply_form').on('keydown', '.chat_box', function (e)
{
var key = e.which;
switch (key) {
case 13: // enter
//your code here
break;
default:
break;
}
});
</script>

答案 1 :(得分:0)

对于onkey事件,请修改您的emojiarea.js文件,并用此代码替换323行

 this.$editor = $('<div onkeydown="comment(this,event)">').addClass('emoji-wysiwyg-editor').addClass($($textarea)[0].className);

通话功能

<script type="text/javascript">  
function comment(a,event){
var key = event.which;
if(key==13){
     event.preventDefault(event);

//your code
}
}
</script>

答案 2 :(得分:0)

您必须在功能"onkeypress": "return chatKeyPressed(event)"的{​​{1}}处添加jquery.emojiarea.js第351行

this.$editor.attr 现在,您可以在this.$editor.attr({ 'data-id': id, 'data-type': 'input', 'placeholder': $textarea.attr('placeholder'), 'contenteditable': 'true', "onkeypress": "return chatKeyPressed(event)" }); 中添加JavaScript功能,如下所示

HTML

function chatKeyPressed(e) { //key is pressed }

中按下键时将调用

答案 3 :(得分:0)

我遇到了类似的问题,并使用父div解决了该问题:

$('#message-zone-inner').on('keyup', function(e) {
        if (e.which == 13)
        {
            e.preventDefault();
            $('#message-zone-inner button').click();
        }
    });

因此基本上,它将监视包含输入字段的父div,检测是否已按下enter键,然后自动单击“发送”按钮(您也可以提交表单)。