javascript怎么把键码值转换为键值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript怎么把键码值转换为键值相关的知识,希望对你有一定的参考价值。

参考技术A 参考下面js代码
<script language="javascript">
function init()
document.onkeydown = showKeyDown
document.onkeyup = showKeyUp
document.onkeypress = showKeyPress


function showKeyDown(evt)
evt = (evt) ? evt : window.event
document.getElementById("pressKeyCode").innerhtml = 0
document.getElementById("upKeyCode").innerHTML = 0
document.getElementById("pressCharCode").innerHTML = 0
document.getElementById("upCharCode").innerHTML = 0
restoreModifiers("")
restoreModifiers("Down")
restoreModifiers("Up")
document.getElementById("downKeyCode").innerHTML = evt.keyCode
if (evt.charCode)
document.getElementById("downCharCode").innerHTML = evt.charCode

showModifiers("Down", evt)

function showKeyUp(evt)
evt = (evt) ? evt : window.event
document.getElementById("upKeyCode").innerHTML = evt.keyCode
if (evt.charCode)
document.getElementById("upCharCode").innerHTML = evt.charCode

showModifiers("Up", evt)
return false

function showKeyPress(evt)
evt = (evt) ? evt : window.event
document.getElementById("pressKeyCode").innerHTML = evt.keyCode
if (evt.charCode)
document.getElementById("pressCharCode").innerHTML = evt.charCode

showModifiers("", evt)
return false

function showModifiers(ext, evt)
restoreModifiers(ext)
if (evt.shiftKey)
document.getElementById("shift" + ext).style.backgroundColor = "#ff0000"

if (evt.ctrlKey)
document.getElementById("ctrl" + ext).style.backgroundColor = "#00ff00"

if (evt.altKey)
document.getElementById("alt" + ext).style.backgroundColor = "#0000ff"


function restoreModifiers(ext)
document.getElementById("shift" + ext).style.backgroundColor = "#ffffff"
document.getElementById("ctrl" + ext).style.backgroundColor = "#ffffff"
document.getElementById("alt" + ext).style.backgroundColor = "#ffffff"

</script>本回答被提问者采纳

将NSString转换为键值对

我有来自服务器的响应,它是NSString,看起来像这样

resp=handshake&clientid=47D3B27C048031D1&success=true&version=1.0

我想将它转换为键值对,如字典或数组。我找不到任何有用的内置函数来解码NSString到NSdictionary并替换&with space并没有解决我的问题,任何人都可以给我任何想法或是否有任何函数来解决这个问题?

答案

这应该工作(在我的头顶):

NSMutableDictionary *pairs = [NSMutableDictionary dictionary];

for (NSString *pairString in [str componentsSeparatedByString:@"&"]) {
    NSArray *pair = [pairString componentsSeparatedByString:@"="];

    if ([pair count] != 2)
        continue;

    [pairs setObject:[pair objectAtIndex:1] forKey:[pair objectAtIndex:0]];
}

或者你可以使用NSScanner,但对于像查询字符串一样短的东西,额外的几个数组不会产生性能差异。

以上是关于javascript怎么把键码值转换为键值的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript事件对象调用啥属性获取按下回车键对应的码值?

javascript键盘上的按键所对应的代码是啥

将字符串数组转换为键值对

Pyspark 将行数据转换为键值对

如何在php中将对象数组转换为键值对

将NSString转换为键值对