如何避免 CellList/Table 在可见范围更改时自动滚动到所选项目

2024-01-21

我正在使用 CellList 展示示例实现一个具有无限滚动功能的自定义 CellTable(http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellList http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellList)。但是,我发现 CellList/Table 中的一个功能在这种情况下是不需要的:单击某个项目后更改可见范围将导致列表/表格自动滚动到所选项目。

您可以尝试上面的展示示例来查看完全相同的行为。当没有选择任何项目时,无限滚动效果很好,但是当您单击一个项目然后滚动它时,当范围更改时它总是会跳回到所选项目。

我还发现,只有当焦点仍在该项目上时才会发生这种情况,也就是说,如果您选择一个项目然后单击其他位置以失去焦点,则不会发生这种情况。

我一直在挖掘 GWT 代码并试图找出如何禁用此功能,但没有成功。以前有人处理过这种情况吗?


作为一个简单的解决方法,您可以调用focus()在某些元素上,从项目中删除焦点(不删除选择)。

在展示示例中,ShowMorePagerPanel,添加例如

scrollable.getElement().focus();

在开始的时候onScroll(ScrollEvent event) method.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何避免 CellList/Table 在可见范围更改时自动滚动到所选项目 的相关文章

  • Spring security 已登录用户的重定向问题

    在使用我的基于 GWT 的 Web 应用程序实现 Spring Security 时 我找到 一切都按预期正常工作 除了以下事实 我打开了 login jsp 并给出了有效的用户登录凭据 提交后 成功重定向到主页 现在 当我在地址栏中编辑
  • JSNI 中 $doc.getElementById("id") 和 document.getElementById("id") 之间的区别是什么

    我正在 GWT 应用程序内的本机函数中工作 并且尝试了这两种方法 document getElementById id 返回 null 但 doc getElementById 返回有效元素 这些方法之间有哪些 概念上 区别 提前致谢 GW
  • GWT:对RichTextArea进行文本限制并阻止用户输入更多字符

    我正在使用 GWT RixhText Area 并希望在 richText Area 中限制 100 个字符 现在我正在做这个 description addKeyDownHandler new KeyDownHandler Overrid
  • 如何在 GWT 中取消转义字符串

    我使用了 SafeHtmlUtils htmlEscape text 并且我想使用相反的功能 你能告诉我 gwt 中是否有像 unescapeHtml 这样的函数 如果 并且仅当 您可以相信文本不包含恶意内容 您可以使用 import co
  • 带有编辑器框架的 GWT 验证器

    有没有人意识到编辑器和 jsr 303 验证如何与 GWT 2 3 一起工作 未来 验证 API 已添加到 gwt sdk 但我无法使用编辑器框架验证实体 无论 我确实从来没有从客户端或服务器端抛出错误 这是一个代码片段 public cl
  • java.lang.ClassNotFoundException:com.google.gwt.user.client.rpc.RemoteService

    在 Tomcat 6 中部署 war 文件时出现以下异常 java lang ClassNotFoundException com google gwt user client rpc RemoteService 所以我尝试通过 webAp
  • GWT 与 ScriptSharp 的优缺点 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 GWT 2.4 在服务器端动态创建 UI

    我正在尝试使用 Google Web Toolkit v2 4 创建用户界面 由于多种原因 我需要在运行时指定服务器上接口的内容 我的意思不仅仅是按钮需要动态标签等 而是整个 UI 需要在运行时创建 我的大部分 UI 都可以指定为直接的 H
  • 如何清除gwt中的缓存?

    我怎样才能清除缓存gwt 或者有什么方法可以阻止浏览器保留缓存gwt 当您部署 GWT 应用程序时 避免代理和浏览器缓存 GWT 生成的 nocache js 文件非常重要 一种解决方案是实现一个 Servlet 过滤器 添加控制缓存行为的
  • 大型应用的回流/布局性能

    我正在使用 GWT 构建一个 HTML 应用程序 其性能总体上是正确的 有时 它会加载 DOM 中的许多对象 并且应用程序会变得很慢 我使用 Chrome 开发者工具分析器来查看时间花在哪里 在 Chrome 下 一旦应用程序被编译 即没有
  • GWT 主题/模板 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 GWT 开发一个应用程序 尽管 GWT 是基于 JAVA 的媒介 但外观和感觉只能通过 CS
  • 从Python手动生成x-gwt-rpc

    我想从 Python 脚本访问 GWT 服务 因此我想手动生成 x gwt rpc 请求 似乎找不到有关 GWT RPC 调用格式的任何信息 因为每个人都是从 Java 执行此操作 因此调用是由框架生成的 在哪里可以找到有关此格式的详细文档
  • GWT 中出现“无法在类路径上找到 XXX.gwt.xml”错误

    将 Maven GWT 项目导入 Eclipse 后 调试器无法工作 抱怨它 Unable to find ProjectName gwt xml on your classpath 你如何修复这个错误 事实证明 当您将某些 GWT 项目调
  • 在 GWT 中使用 SVG

    我想知道是否可以在面板中包含 SVG 内容 或者在 GWT 中工作的任何内容 能够以编程方式向 SVG 添加更多内容 例如添加圆或曲线 并处理鼠标事件 这会是在 SVG 或 GWT 中 我尝试创建一个 HTML 对象 添加以下内容
  • 如何创建开发/调试和生产设置

    我最近无意中部署了我们的游戏typrX的调试版本 打字比赛在www typrx com http www typrx com 尝试一下 很有趣 它很快就被纠正了 但我知道它可能会再次发生 挖完后 在 Google 上 我找到了一些如何创建
  • gwt-dispatch - GWT 的命令模式替代方案

    有没有替代方案gwt 调度 http code google com p gwt dispatch 在GWT项目中使用 GWT 平台 http code google com p gwt platform has a 调度模块 http c
  • 禁用任何类型的浏览器窗口滚动?

    有没有办法禁用滚动 不仅仅是滚动条 还有浏览器窗口的全部功能 根据您对 Keit 的回答 您不想在打开灯箱时滚动处于活动状态 如果是这种情况 您可以使用以下 css 在打开灯箱的同时向正文添加一个类 这个解决方案的好处是它保留了滚动 空间
  • zk 与 gwt zk 请求太多

    您好 我正在尝试比较 zk 和 gwt 的性能 在我的比较中 如果框架本身将一些代码转换为js 那么我自己无法编写任何javascript 如get 但我无法自己编写js 在以上述方式编写代码时 几乎所有在浏览器上完成的操作都会将请求发送到
  • 如何从 GWT 的序列化策略中删除实现类型?

    这个问题的反面是 如何将类型添加到 GWT 的序列化策略白名单 https stackoverflow com questions 138099 how do i add a type to gwts serialization polic
  • 如何使用 GWT 以编程方式禁用 html 缓存

    有没有办法使用 GWT 禁用浏览器中 html 页面的缓存 我宁愿避免在 html 页面的标题中使用插入 META HTTP EQUIV EXPIRES CONTENT 而是以编程方式执行 如果可能的话 如果这对于 GWT JavaScri

随机推荐