最近我开始玩jQuery,并且已经关注了几个教程.现在我觉得使用它有点能干(这很简单),我觉得如果我能在我的网页上制作一个"控制台"会很酷(就像你在FPS游戏中一样按下'键' ,等),然后让Ajax本身回到服务器,以便做的事情.
我原本认为最好的方法是在textarea中获取文本,然后拆分它,或者我应该使用keyup事件,将返回的键码转换为ASCII字符,将字符附加到字符串并将字符串发送到服务器(然后清空字符串).
我找不到任何关于从textarea获取文本的信息,我得到的只是密钥信息.另外,如何将返回的键码转换为ASCII字符?
为什么要将键击转换为文本?添加一个按钮,在单击时将textarea内的文本发送到服务器.你可以在指出之前使用value属性作为海报来获取文本,或者使用jQuery的API:
$('input#mybutton').click(function() { var text = $('textarea#mytextarea').val(); //send to server and process response });
它通常是您使用的文本函数(例如在div等),然后对于文本区域,它是val
得到:
$('#myTextBox').val();
组:
$('#myTextBox').val('new value');
你应该有一个只包含控制台消息的div,即以前的命令及其输出.并在下面放置一个输入或textarea只保存您正在键入的命令.
------------------------------- | consle output ... | | more output | | prevous commands and data | ------------------------------- > This is an input box.
这样,您只需将输入框的值发送到服务器进行处理,并将结果附加到控制台消息div.
通常,它是值属性
testArea.value
或者你需要什么我缺少的东西?
我已经发现我可以使用以下函数将事件的keyCode转换为字符:
var char = String.fromCharCode(v_code);
然后我会将字符附加到字符串,当按下回车键时,将字符串发送到服务器.我很抱歉,如果我的问题看起来有点神秘,标题意味着几乎完全偏离主题,那是一大早,我还没吃早餐;).
谢谢你们的帮助.
将"控制台"这个词拼写成混乱.
如果你想模仿一个旧式的全/半双工控制台,你可以使用这样的东西:
$('console').keyup(function(event){ $.get("url", { keyCode: event.which }, ... ); return true; });
event.which有按下的键.对于退格处理,event.which === 8.