@@ -92,6 +92,13 @@ function getSearchElement() {
92
92
93
93
var titleBeforeSearch = document . title ;
94
94
95
+ function clearInputTimeout ( ) {
96
+ if ( searchTimeout !== null ) {
97
+ clearTimeout ( searchTimeout ) ;
98
+ searchTimeout = null ;
99
+ }
100
+ }
101
+
95
102
function getPageId ( ) {
96
103
var id = document . location . href . split ( "#" ) [ 1 ] ;
97
104
if ( id ) {
@@ -345,10 +352,7 @@ function getSearchElement() {
345
352
if ( hasClass ( help , "hidden" ) === false ) {
346
353
displayHelp ( false , ev , help ) ;
347
354
} else if ( hasClass ( search , "hidden" ) === false ) {
348
- if ( searchTimeout !== null ) {
349
- clearTimeout ( searchTimeout ) ;
350
- searchTimeout = null ;
351
- }
355
+ clearInputTimeout ( ) ;
352
356
ev . preventDefault ( ) ;
353
357
hideSearchResults ( search ) ;
354
358
document . title = titleBeforeSearch ;
@@ -1805,7 +1809,7 @@ function getSearchElement() {
1805
1809
1806
1810
function startSearch ( ) {
1807
1811
var callback = function ( ) {
1808
- clearTimeout ( searchTimeout ) ;
1812
+ clearInputTimeout ( ) ;
1809
1813
if ( search_input . value . length === 0 ) {
1810
1814
if ( browserSupportsHistoryApi ( ) ) {
1811
1815
history . replaceState ( "" , window . currentCrate + " - Rust" , "?search=" ) ;
@@ -1819,10 +1823,7 @@ function getSearchElement() {
1819
1823
search_input . oninput = callback ;
1820
1824
document . getElementsByClassName ( "search-form" ) [ 0 ] . onsubmit = function ( e ) {
1821
1825
e . preventDefault ( ) ;
1822
- if ( searchTimeout !== null ) {
1823
- clearTimeout ( searchTimeout ) ;
1824
- searchTimeout = null ;
1825
- }
1826
+ clearInputTimeout ( ) ;
1826
1827
search ( ) ;
1827
1828
} ;
1828
1829
search_input . onchange = function ( e ) {
@@ -1831,10 +1832,7 @@ function getSearchElement() {
1831
1832
return ;
1832
1833
}
1833
1834
// Do NOT e.preventDefault() here. It will prevent pasting.
1834
- if ( searchTimeout !== null ) {
1835
- clearTimeout ( searchTimeout ) ;
1836
- searchTimeout = null ;
1837
- }
1835
+ clearInputTimeout ( ) ;
1838
1836
// zero-timeout necessary here because at the time of event handler execution the
1839
1837
// pasted content is not in the input field yet. Shouldn’t make any difference for
1840
1838
// change, though.
0 commit comments