Javascript 返回true不';“不允许在淘汰赛中进行默认操作”;事件“;结合
根据报告: 默认情况下,敲除将阻止事件执行任何默认操作 但是,如果确实希望让默认操作继续进行,只需从事件处理程序函数返回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,
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;
}