使用Chrome的内置搜索function时,Handsontable未完全呈现
使用Chrome的内置搜索function时遇到的奇怪,不一致的问题。 我有大约250行数据要在手中呈现,超过可以在屏幕上显示而不滚动或缩小。
http://jsfiddle.net/hU6Kz/3723/
var myData = [ ["", "Kia", "Nissan", "Toyota", "Honda"], ["lots of data begins here"], ]; $("#exampleGrid").handsontable({ data: myData, startRows: 5, startCols: 5, minSpareCols: 1, minSpareRows: 1, rowHeaders: true, colHeaders: true, contextMenu: true });
请注意,当您第一次向上拉页面时,您可以向下滚动并且所有数据都以双手forms呈现。
现在点击控制+ f来拉起Chrome的内置搜索function。 搜索handontable中的任何字符。 手中的大部分数据都不再呈现! 如果我搜索其他东西,偶尔会再次渲染数据,但它似乎不一致,我找不到共同的原因..
这在firefox中似乎不是问题,但我的公司肯定是在Chrome阵营。 帮帮我,互联网的巫师。
这是因为Handsontable使用了一种称为“虚拟渲染”的精彩技术,它只渲染您当前正在查看的行以及更多。 它可以显示“无限”多行。 ctrl+f
的问题在于它搜索HTML文本,因此您将无法使用此搜索。
这就是为什么有一个搜索插件可以返回所有匹配单元格的列表。 从那里你可以做很多事情,比如输入, scrollTo
到下一个可用的匹配单元格(搜索)。 另一个非常着名的应用程序是通过使用较少的数据(filter)重新创建表来过滤行。
这里有一个使用handsontable搜索function的工作演示。
在搜索输入中写入Test然后按Enter键 。
这是执行上述描述的方法。
var searchField = document.getElementById('search_field'); Handsontable.Dom.addEvent(searchField, 'keyup', function (event) { if (event.keyCode == 13) { var queryResult = hot.search.query(this.value); hot.selectCell(queryResult[0].row, queryResult[0].col); } });
- 在谷歌浏览器浏览器中将HTML表格导出到csv
- Bootstrap 3.0水平折叠 – 在Chrome中弹跳
- Jquery animate()和谷歌浏览器问题
- 使用jQuery将Chrome扩展程序移植到Firefox SDK附加组件
- Highcharts鼠标跟踪/鼠标hoverfunction在chrome上很慢但在firefox或IE中并不慢
- 在用户单击后退按钮时使DataTables保持其状态(没有stateSave选项)
- 使用Javascript以编程方式将Google Chrome置于全屏模式?
- 使用.focus()时,为什么我的onchange函数被调用了两次?
- 使用chrome扩展在iframe中注入javascript