我找到了这段代码:
<script>
document.onkeydown = function(e) { // or document.onkeypress
e = e || window.event;
if (e.keyCode == 32 || e.keyCode == 09) {
alert("do something");
}
};
</script>
它会在空格键或标签页上显示弹出窗口。 我不想弹出,而是改变div。
我找到了另一个代码,用于更改文本点击时的div。 这是:
<html>
<head>
<script type="text/javascript">
top.visible_div_id = 'right';
function toggle_visibility(id) {
var old_e = document.getElementById(top.visible_div_id);
var new_e = document.getElementById(id);
if(old_e) {
console.log('old', old_e, 'none');
old_e.style.display = 'none';
}
console.log('new', new_e, 'block');
new_e.style.display = 'block';
top.visible_div_id = id;
}
</script>
</head>
<body onload="toggle_visibility('left');">
<div onclick="toggle_visibility('left');">
Left
</div>
<div onclick="toggle_visibility('right');" >
Right
</div>
<div id="left" >
This is the content for the left side
</div>
<div id="right" >
This is the content for the ride side
</div>
-------
-------
</body>
</html>
我几乎想要混合代码,所以它们具有相同的效果,但用键盘点击替换了文本点击。
我尝试过添加
<script>
document.onkeydown = function(e) { // or document.onkeypress
e = e || window.event;
if (e.keyCode == 32 || e.keyCode == 09) {
toggle_visibility('right');
}
};
</script>
但这只是第一次工作,并没有实际切换它。我可以使用两个不同的角色,但我只想要空格键。希望你能帮我解决这个问题。
答案 0 :(得分:0)
你是否只是试图在div中显示和隐藏内容,如果这样的话可以起作用
<div onkeydown="change();">
<div id='div1'></div>
<div id='div2'></div>
</div>
<script>
function change(){
//Hide the content
document.getElementById('div1').style.display = "none";
//Show new content
document.getElementById('div2').style.display = "block";
}
</script>
答案 1 :(得分:0)
这是一个有效的示例,只需点击键盘上的空格键即可。复制整个内容并在浏览器中打开以进行测试:
<html>
<head>
<script type="text/javascript">
top.visible_div_id = 'right';
function toggle_visibility(id) {
var old_e = document.getElementById(top.visible_div_id);
var new_e = document.getElementById(id);
if(old_e) {
console.log('old', old_e, 'none');
old_e.style.display = 'none';
}
console.log('new', new_e, 'block');
new_e.style.display = 'block';
top.visible_div_id = id;
}
document.onkeydown = function(e) { // or document.onkeypress
e = e || window.event;
if (e.keyCode == 32) {
if (top.visible_div_id == "right") {
toggle_visibility('left')
} else{
toggle_visibility('right')
}
}
};
</script>
</head>
<body onload="toggle_visibility('left');">
<div >
Left
</div>
<div >
Right
</div>
<div id="left" >
This is the content for the left side
</div>
<div id="right" >
This is the content for the right side
</div>
</body>
</html>