sjs焦点设置问题
附件中按ctrl+f能把焦点放置到搜索栏,但是触发EnterCell事件时,设置好焦点到搜索栏,没有成功,不知道为什么您好!删除EnterCell事件中令workbook失焦的代码即可,如下图所示:
效果如下动图所示:
删除这段代码后,光标过去了,但是焦点还在,按键盘录入的信息还是落到sjs单元格里了 还有如何能在input框回车后,焦点再回到sjs中
function handleKeyDown(event) {
if (event.key === 'Enter') {
event.preventDefault(); // 防止表单提交
document.getElementById('ss').focus();
spread.focus(true);
}
}
我写了一个方法,没效果 不太了解您的需求场景,SpreadJS也支持搜索功能,您可以使用内置支持的搜索功能。 本帖最后由 幽游 于 2024-12-8 10:25 编辑
active_sheet = spread.getActiveSheet();
active_sheet.bind(GC.Spread.Sheets.Events.EnterCell, function () {
//spread.focus(false);
document.getElementById('focus-input').focus();
});
删除掉spread.focus(false);,但是是通过鼠标点击单元格,触发的EnterCell处理,虽然光标落到input框里了,
但是在键盘录入时,数据还是落到了sjs的单元格里,没有落到input框里。
现在是希望鼠标点选单元格时,焦点落到input框里,并且输入数据也到input框里
幽游 发表于 2024-12-6 17:59
active_sheet = spread.getActiveSheet();
active_sheet.bind(GC.Spread.Sheets.Events.EnterCell, fu ...
根据您现在提供的信息,我理解在搜索框中输入数据后应该希望在当前sheet中搜索包含或者等于搜索框内容的数据吧?如果是这样,SpreadJS本就支持搜索功能,如下动图所示:
如果您必须按照您现在的设想实现,使用您的代码测试后发现如下使用方式可以奏效:光标显示在搜索框后,再一次按键ctrl+f进入您定义的按键逻辑,此时输入内容即可进入搜索框。
页:
[1]