在做即时聊天系统的时候碰见了这么一个问题:
由于监控了用户回车发送消息的功能,对用户的信息有个校验,但是校验后回车会展现在文本框中,一开始的想法是怎么在回车写到文本框后去除这个效果,发现没什么好办法,在网上查了下,发现既然去除不了这个效果,那么可以阻止这个回车事件的发生。
代码如下:
点击回车发送消息的方法:
function toMysend(){
var event = arguments.callee.caller.arguments[0]||window.event;//消除浏览器差异
if (event.keyCode == 13){
mysend();
stopDefaultKey(event);//屏蔽enter对系统作用。按后增加\r\n等换行
}
}
/**
* @Title: stopDefaultKey
* @Description: TODO(阻止默认事件的激发)
* @param
* @return 无
* @throws 无
*/
function stopDefaultKey(e) {
if (e && e.preventDefault) {//如果是FF下执行这个
e.preventDefault();
}else{
window.event.returnValue = false;//如果是IE下执行这个
}
return false;
}
解决即时聊天系统中回车事件显示问题的代码实现
本文介绍了在即时聊天系统中,如何通过修改代码阻止用户输入时回车事件在文本框中显示,同时提供了阻止默认事件激发的函数实现,包括事件处理函数toMysend和辅助函数stopDefaultKey。
1351

被折叠的 条评论
为什么被折叠?



