微博中很常见的一个功能,求问实现原理,用什么监测的啊?还有,怎么怎么计算的出弹框(一般是好友姓名)的位置的?
------解决方案--------------------
用onKeyup事件试试,希望对你有所帮助。
- HTML code
<!DOCTYPE>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function checkSpar(text){
if(/@/.test(text.value)){
alert("不能包含@字符");
text.value = text.value.replace("@","");
}
}
</script>
</head>
<body>
<input type="text" onKeyup="checkSpar(this);">
</body>
</html>
------解决方案--------------------
onkey类事件(DOWN,UP,PRESS)都可以得到当前按下的键值,与@的键值比较.
获得文本框中光标位置的通用代码:
<script>
function getTxt1CursorPosition(){
var oTxt1 = document.getElementById("txt1");
var cursurPosition=-1;
if(oTxt1.selectionStart){//非IE浏览器
cursurPosition= oTxt1.selectionStart;
}else{//IE
var range = document.selection.createRange();
range.moveStart("character",-oTxt1.value.length);
cursurPosition=range.text.length;
}
alert(cursurPosition);
}
</script>
<input type="text" id="txt1" value="abcde" onclick="getTxt1CursorPosition()">