在做即时聊天系统的时候碰见了这么一个问题:
由于监控了用户回车发送消息的功能,对用户的信息有个校验,但是校验后回车会展现在文本框中,一开始的想法是怎么在回车写到文本框后去除这个效果,发现没什么好办法,在网上查了下,发现既然去除不了这个效果,那么可以阻止这个回车事件的发生。
代码如下:
点击回车发送消息的方法:
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;
}