注册 登录
编程论坛 JavaScript论坛

关于JS实现组合键的问题

coolfaith 发布于 2010-03-06 20:35, 1700 次点击
小弟想实现以下功能
function leftright()
{
   if(event.keyCode==37)//←左键
   {
      var wsh=new ActiveXObject("wscript.shell") ;
      wsh.sendKeys("+{TAB}");
   }
   else if(event.keyCode==39)//→右键
   {
      event.keyCode=9;
   }
当按了左键后,实现的功能是相当于按了SHIFT+TAB,回到上一次的焦点
当按了右键后,实现的功能是相当于按了TAB,到下一个焦点
问题出在左键的功能上,用这种方法虽然可以实现,但是需要将所有客户端的IE安全设置
中对没有标记为安全的ActiveX的控件进行初始化和脚本运行选项进行启用,
这样操作就非常的麻烦,请问各位大大,有没有能够直接使用的方法,急~~~·····
不胜感激
6 回复
#2
aspic2010-03-07 09:05
谁叫你用Activex了~~~~~~~~~~~~~~~~
#3
coolfaith2010-03-08 18:39
那有什么好的方法吗,请直接。
我用的是里的GridView的EditItemTemplate
当点击编辑后,原来的TABLECELL就变成可编辑的框,绑定值。
然后我想用左右来控制那行可编辑的框前后移动焦点
#4
coolfaith2010-03-08 18:44
if(event.keyCode==37)//←左键
   {

   }
请问在这个中间应该写什么才能出发shift+Tab的组合键?
#5
aspic2010-03-09 09:28
百度大婶告诉你

脚本
function TEST()
{
    if(event.keyCode==38)
    {new ActiveXObject('WScript.Shell').SendKeys('+{TAB}');}
    if(event.keyCode==40){event.keyCode=9;}
}

Internet设置

Internet选项-->安全-->自定义级别-->对未标记为可安全执行脚本的ActiveX控制初始化并执行脚本

“automation服务器不能创建对象”的错误
以下是解决方案

1、如果是Scripting.FileSystemObject (FSO 文本文件读写)被关闭了,
开启FSO功能即可,在“运行”中执行regsvr32 scrrun.dll即可

2、安全模式设置成“中”,如果javascript脚本中报这个错误,
还应将IE的安全设置“不允许运行未标记为安全的activeX控件”启用即可。

注意如果您将相应的网站设成“受信任的站点”,
必须对“受信任的站点”进行相应的IE安全设置,此时如果对“Internet”IE设置将是徒劳的。

3、有些脚本需要微软的 MSXML 控件才能进入。
当使用 IE 5 以上版本的缺省安全模式时,会提示是否接受 MSXML 控件,
如果接受,MSXML 将自动安装到您的机器上(得等上几分钟)。
如果自动安装不成功,可以自行下载和安装 MSXML 3.0 SP7。
有时是由于msxml 3服务被关掉了,使用regsvr32 msxml3.dll即可
#6
aspic2010-03-09 09:29
程序代码:
function shiftTab(){
    if(event.keyCode==37){
        event.shiftKey;
        event.keyCode=9;
    }
}
还有人说这样
#7
aspic2010-03-09 09:30
具体的搜索链接
http://www.baidu.com/s?bs=shift%2Btab&f=8&wd=javascript+shift%2Btab
1