我正在使用js库(确切地说是Perfect Scrollbar)在网站上制作自定义滚动条。
由于需要隐藏溢出才能显示自定义滚动条,因此禁用了浏览器的许多默认功能。
这包括浏览器的默认find命令。
我熟悉window.find()
方法,并且我已经看到了制作位于网页本身的自定义搜索表单的其他想法;但是,如果我没有使用Perfect Scrollbar,我希望能够从默认浏览器搜索字段中检索搜索文本以模仿浏览器的默认搜索行为。
如果用户要使用Ctrl+F
,Ctrl+G
或window.find()
方法,我有办法检索搜索文本(在jQuery中说)吗?
编辑:让我澄清一下:默认的find命令仍然可以在页面上找到文本,但浏览器只是不滚动到下一个匹配偏移量。如果我能以某种方式捕获搜索文本,我打算手动滚动到每个匹配。
答案 0 :(得分:0)
我认为从浏览器搜索控件中获取文本是不可能的。模仿默认浏览器搜索功能真的很难。您将必须显示您自己的弹出窗口,其中包含文本输入,用户将在其中输入要查找的文本(例如在谷歌文档中),然后在可见元素中搜索文本(这不是简单的任务),如果找到文本,则在可见区域中,您应该滚动带溢出的元素:自动/滚动以显示找到的文本等...
更好的方法是使用使用本机浏览器滚动的自定义滚动条,因此它将保留默认浏览器滚动功能:滚动到聚焦元素,滚动到搜索文本,滚动到锚点(在网址中哈希)等等...尝试{{ 3}}或来自此jQuery Scrollbar的类型:native 的任何滚动条。