我最初的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”上工作。请帮助我如何实现这个目标。 提前谢谢。
答案 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键,然后自动单击“发送”按钮(您也可以提交表单)。