我想在我的文本框中捕获用户的活动。由于普通文本框不会提供有关我的用户当前使用它的信息的足够信息,因此我想从自定义HTML文本框开始。 对于例如 如果我的用户正在打字 你好,世界! (说他犯了错字......)我应该能告诉他,
了解[bksp] d!
如果用户选择文本,我也会收到通知。
P.S。我已经提到了一个自定义文本框,以便是通用的。如果我可以在已经可用的文本框中使用/创建类似插件的内容,或者甚至说javascript,那就没关系。
答案 0 :(得分:2)
您最好的选择是使用javascript向现有<input type="text">
添加功能。
我不知道你将如何创建自己的文本框,因为浏览器只解释HTML格式,它只包含HTML规范中的预定义元素(除了某些例外,如ActiveX)。
作为您想要的解决方案,您可以使用文档的onKeyUp事件捕获每个按键。您可以捕捉每个按键并根据自己的喜好显示它们。
小例子:
<script type="text/javascript">
document.onkeyup = KeyCheck;
function KeyCheck()
{
var keyID = event.keyCode;
var keypressed;
switch(keyID)
{
case 16:
keypressed = "Shift";
break;
case 17:
keypressed = "Ctrl";
break;
case 18:
keypressed = "Alt";
break;
case 19:
keypressed = "Pause";
break;
case 37:
keypressed = "Arrow Left";
break;
case 38:
keypressed = "Arrow Up";
break;
case 39:
keypressed = "Arrow Right";
break;
case 40:
keypressed = "Arrow Down";
break;
}
document.write(keypressed);
}
</script>
有关所有密钥代码的列表,请参阅here。
<强> [更新] 强>
我刚看到你也想知道有人选择文字的时候,幸运的是你还有一些活动来处理这个问题:
<INPUT TYPE = "text">
以及<TEXTAREA>
有.onSelect
个事件您可以捕获。然后,您可以使用在其他StackOverflow问题上找到的方法获取所选文本:How to get selected text from textbox control with javascript
如果你在javascript中工作很重,我建议你看看JQuery(如果你还没有)。它一定会让你的生活更轻松。