如何使用Javascript for accesskey

时间:2017-03-24 16:12:16

标签: javascript html firefox access-keys

我有一个网络应用程序,我在其中使用accesskey属性来指定某些按钮。但是,我无法设置 alt + F accesskey,因为它会打开firefox的文件菜单。我试过以下代码

onkeydown = function(e){    
    if(e.altKey && e.keyCode == 'F'.charCodeAt(0)) {
    e.stopImmediatePropagation();
    e.stopPropagation();
    return false;
    }
}

它似乎不适用于 firefox ,但在 chrome 中工作正常。除 alt + F (文件菜单), alt + 之外,可以覆盖所有其他 alt 组合键组合E (编辑菜单), alt + V (查看), alt + S (历史), alt + B (书签), alt + T (工具), alt firefox 中的kbd> + H (帮助)。

我在Ubuntu中运行它。有办法吗?它应该适用于Windows和Linux。

1 个答案:

答案 0 :(得分:0)

对于alt + f或alt + F. 下面的代码将起作用。

import threading, time

def test(name, lock):
    print(name + " - Starting thread")
    print(name + " - Waiting to acquire lock")
    with lock:
        print(name + " - Lock acquired!")
        for i in range(10):

            print(name + " - " + str(i))
            print("")
            time.sleep(1)
    print(name + " - Lock released")

def main():
    lock = threading.Lock()

    t1 = threading.Thread(target=test, args=["#1_Thread", lock])
    t2 = threading.Thread(target=test, args=["#2_Thread", lock])

    t1.start()
    time.sleep(3)
    t2.start()

main()

如果通过说alt + F - 你的意思是你想做alt + shift + f / F - 在这种情况下代码将起作用

onkeydown = function(e){    
   if(event.altKey && event.keyCode == 70) { 
      console.log("alt + f pressed")
      event.preventDefault(); 
   }
}

其余组合将以类似的方式工作 请参阅密钥代码表here