Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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 对KnockoutJs中的箭头键使用keydown事件时,其他键不起作用_Javascript_Html_Knockout.js - Fatal编程技术网

Javascript 对KnockoutJs中的箭头键使用keydown事件时,其他键不起作用

Javascript 对KnockoutJs中的箭头键使用keydown事件时,其他键不起作用,javascript,html,knockout.js,Javascript,Html,Knockout.js,我对div具有以下约束力: <div class="my-class" tabindex="0" data-bind="event:{keydown:function(data, event){onKeyDown(event)}}"> </div> 每当div处于焦点时,我执行以下内部脚本来处理上下箭头键: onKeyDown(event) { if (event.keyCode == 40 || event.keyCode == 38) { /

我对div具有以下约束力:

<div class="my-class" tabindex="0" data-bind="event:{keydown:function(data, event){onKeyDown(event)}}">
</div>
每当div处于焦点时,我执行以下内部脚本来处理上下箭头键:

onKeyDown(event) {
    if (event.keyCode == 40 || event.keyCode == 38) {
        // My logic
    }

    return true;
}

向上和向下箭头键在div上工作正常。现在的问题是,每当div处于焦点时,除向上和向下箭头以外的其他键都不工作。如何修复此问题?

onKeyDown
返回的值
true
不会被Knockout接收,因为HTML内部的keydown绑定中没有return语句

将HTML更改为以下内容,它应该可以工作:

<div class="my-class" tabindex="0" data-bind="event:{keydown:function(data, event){return onKeyDown(event)}}">
</div>

onKeyDown
返回的值
true
不会被Knockout接收,因为HTML内部的keydown绑定中没有return语句

将HTML更改为以下内容,它应该可以工作:

<div class="my-class" tabindex="0" data-bind="event:{keydown:function(data, event){return onKeyDown(event)}}">
</div>