Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当NVDA打开时,区分按键并在Mozilla中单击_Javascript_Click_Accessibility_Mozilla_Nvda - Fatal编程技术网

Javascript 当NVDA打开时,区分按键并在Mozilla中单击

Javascript 当NVDA打开时,区分按键并在Mozilla中单击,javascript,click,accessibility,mozilla,nvda,Javascript,Click,Accessibility,Mozilla,Nvda,要求是区分Mozilla浏览器中的按键和鼠标点击事件。条件是,当NVDA打开时,Mozilla浏览器应该能够区分事件(单击并输入)如果您只想区分enter/空格键和鼠标/指针键,我可能会同时使用onclick和onmousedown 如果启动了onmousedown,我将设置一个标志,我将在onclick中读取该标志,告诉我这是否最初是一个指针事件 比如: <button onmousedown="pointerFunction()" onclick="clickFunction()"&g

要求是区分Mozilla浏览器中的按键和鼠标点击事件。条件是,当NVDA打开时,Mozilla浏览器应该能够区分事件(单击并输入)

如果您只想区分enter/空格键和鼠标/指针键,我可能会同时使用
onclick
onmousedown

如果启动了
onmousedown
,我将设置一个标志,我将在
onclick
中读取该标志,告诉我这是否最初是一个指针事件

比如:

<button onmousedown="pointerFunction()" onclick="clickFunction()">Active this</button>

<script>
var isPointerEvent = false;
function pointerFunction() {
    isPointerEvent = true;

    // Do something for pointer users
}

function clickFunction() {
    if (isPointerEvent) {
        return isPointerEvent = false;
    }

    // Do something for keyboard / screen-reader users
}
</script>
激活此选项
var isPointerEvent=false;
函数指针函数(){
isPointerEvent=true;
//为指针用户做点什么
}
函数clickFunction(){
如果(isPointerEvent){
返回isPointerEvent=false;
}
//为键盘/屏幕阅读器用户做些事情
}
为了记录在案,我在这里为一个类似的问题发布了相同的建议:

不管屏幕阅读器是否打开,浏览器都可以这样做。在你的问题中没有太多其他的内容。也许你可以补充一些更相关的信息。也许对你也有帮助。我同意@Andy,我们需要更多信息。在某些情况下,如果NVDA正在运行,某些键盘事件将不会传递给对象,因为NVDA将捕获事件,例如用于遍历DOM的向上/向下箭头键,或者像“H”或“T”这样的快速导航键。在这些情况下,您的对象必须具有正确的
角色
,才能接收这些事件。但是,要真正回答这个问题,还需要更多的细节。