event.altKey 等再+keyCode的代码
解决方案 »
- 在线求租,谢谢解答
- jquery已获得一个标签,怎么再获得这个对象下面的标签
- 求助,使用jQuery的validate插件时,不能提交表单
- 关于原型继承的问题
- jquery选择器语法
- 如何实现一个页面选中字体,用在另一个页面的显示中?(急)
- 求图片展示代码
- 我想用客户端JavaScript删除internet缓存中的一个cookies文件
- ★★★安装InterDev后,JavaScript程序调试出现奇怪错误提示★★★
- 怎么让摸态窗口响应事件!就在摸态窗口里运行处理一些数据!不弹出新窗口!谢谢~!再线等待!!!
- javaScript中的确认对话框函数有那些及它们的用法?
- 我想要几个javascript炸弹
<SCRIPT>
function init() {
spanLeftAlt.innerText='false';
spanRightAlt.innerText='false';
}function indicate(obj, arg) {
obj.innerText=arg;
}function AltDown() {
if (event.altLeft) {
indicate(spanLeftAlt,'true');
}
else {
if (event.altKey) {
indicate(spanRightAlt,'true');
}
}
}
function AltUp() {
if (!event.altKey) {
indicate(spanLeftAlt,'false');
indicate(spanRightAlt,'false');
}
}
</SCRIPT>
</HEAD><BODY onload="document.body.focus(); init()" onkeydown="AltDown();" onkeyup="AltUp();"><P>Press either the left or right ALT key.</P>
<TABLE>
<TR>
<TD><I>Left ALT Key Pressed</I></TD>
<TD><I>Right ALT Key Pressed</I></TD>
</TR>
<TR>
<TD ALIGN="center"><SPAN ID="spanLeftAlt"></SPAN></TD>
<TD ALIGN="center"><SPAN ID="spanRightAlt"></SPAN></TD>
</TR>
</TABLE>
</P>
</BODY>
<script>
function test(e){
if((event.ctrlKey)&&(event.keyCode==10))
{
alert("您按了CTRL+Enter")
}
}
</script>
<form>
<textarea onkeypress="test()"></textarea>
</form>
</HTML>
比如:当按下一个button则相当于按下Ctrl+P,是这个意思。
当我按向下的键头时就自动移动到下一个文本框中,
这个容易,只需将event.keyCode=9就行了,按向上的键 头就自动移动到上一个文本框。
这个也行,只需模拟按下Shift+Tab就行了,查现在的问题是我怎样来模拟 Shift+Tab键 啊
当我按向下的键头时就自动移动到下一个文本框中,
这个容易,只需将event.keyCode=9就行了,代码粘出出来看看我怎么做不出来啊
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">
</HEAD>
<script language=JavaScript>
function CheckKey()
{
if (event.keyCode==40)
event.keyCode =9
}
</script>
<BODY onkeydown="CheckKey()" onload=text1.focus()>
<P><INPUT id=text1 name=text1 value=11></P>
<P><INPUT value=22></P>
<P><INPUT></P>
<P><INPUT value=44></P>
<P><INPUT></P>
</BODY>
</HTML>
不知道还有没有其它的方法没?我觉得应该有吧,有谁知道不???
已经触发的事件改变shiftKey会报错(虽然MSDN说可以set/retrieve)
用<script>
function f(){
if(event.keyCode==40){
event.keyCode=9;
}
if(event.keyCode==38){
var x=document.createEventObject("onkeydown")
x.shiftKey=true;
x.keyCode=9;
event.srcElement.fireEvent("onkeydown",x)
}
}
document.onkeydown=f
</script>可以检测到(event.keyCode==9&&event.shiftKey)为true,而且event.srcElement也是那个input,可就是不能像按下shift+tab那样:(,也许就是无法触发这个事件,就像用其他事件不能调出系统的右键菜单一样?
还是用input的onkeydown/onkeyup事件来判断吧,用htc会简化一些,给你一个简单的例子:
test.htm
<style>
input {behavior:url("test.htc")}
</style>
<input><br>
<input><br>
<input><br>
<input><br>
<input><br>
<input><br>
<input><br>
<input><br>下面内容存为test.htc,并和test.htm放在同一目录下:
<PUBLIC:COMPONENT>
<PUBLIC:PROPERTY NAME="haveFocus" VALUE="false">
<PUBLIC:ATTACH EVENT="onkeyup" ONEVENT="test()" />
<PUBLIC:ATTACH EVENT="onfocus" ONEVENT="getFocus()" />
<PUBLIC:ATTACH EVENT="onblur" ONEVENT="lostFocus()" />
<SCRIPT LANGUAGE="JScript">
var MyDir=null
var obs=document.all.tags("INPUT")
function getFocus(){
event.srcElement.haveFocus=true;
}
function lostFocus(){
event.srcElement.haveFocus=false;
}
function test(){
var i=0;
ob=event.srcElement;
if(ob.tagName!="INPUT") return;
switch(event.keyCode){
case 38:MyDir="up";break;
case 40:MyDir="down";break;
defalut:return;
}
obs=window.document.all.tags("INPUT");
for(i=0;i<obs.length;i++){
if(obs[i].haveFocus) break;
}
if(MyDir=="up"){
if(i<=0) return;
obs[--i].focus();
}else if(MyDir=="down"){
if(++i>=obs.length) return;
obs[i].focus();
}
}
</SCRIPT>
</PUBLIC:COMPONENT>