Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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 返回true不';“不允许在淘汰赛中进行默认操作”;事件“;结合_Javascript_Knockout.js_Data Binding_Keydown - Fatal编程技术网

Javascript 返回true不';“不允许在淘汰赛中进行默认操作”;事件“;结合

Javascript 返回true不';“不允许在淘汰赛中进行默认操作”;事件“;结合,javascript,knockout.js,data-binding,keydown,Javascript,Knockout.js,Data Binding,Keydown,根据报告: 默认情况下,敲除将阻止事件执行任何默认操作 但是,如果确实希望让默认操作继续进行,只需从事件处理程序函数返回true即可 onInputKeydown = function(data, event) { console.log(event.which); return true; } 这似乎对我不起作用。以下是我的看法: <input data-bind="event: { 'keydown': function(d,

根据报告:

默认情况下,敲除将阻止事件执行任何默认操作

但是,如果确实希望让默认操作继续进行,只需从事件处理程序函数返回true即可

    onInputKeydown = function(data, event) {
       console.log(event.which);
       return true;
    }
这似乎对我不起作用。以下是我的看法:

<input data-bind="event: { 'keydown': function(d, e) { onInputKeydown(e); } }" />

此处理程序阻止在
元素中输入任何字符。我做错了什么?

视图模型中的函数确实返回true,但视图中指定的包装器没有传播该函数的返回值。尝试此操作(注意添加了
返回
):



是,确实需要从函数返回true。我还发现,如果我在函数中遇到断点,keydown事件似乎会忽略我返回的true。禁用所有断点,它就可以正常工作。

我认为问题在于如何绑定函数。请尝试以下操作:

    <input data-bind="event: { keydown: onInputKeydown }" />
    <input data-bind="event: { keydown: onInputKeydown }" />
    onInputKeydown = function(data, event) {
       console.log(event.which);
       return true;
    }