Put the search bar into an HTML form (#669)
This enables "Add a keyword for this search" in the contex menu for the search field, in Firefox and other browsers.
This commit is contained in:
parent
c195aa990d
commit
1c71eaa964
|
@ -116,9 +116,9 @@
|
||||||
|
|
||||||
{{#if search_enabled}}
|
{{#if search_enabled}}
|
||||||
<div id="search-wrapper" class="hidden">
|
<div id="search-wrapper" class="hidden">
|
||||||
<div id="searchbar-outer" class="searchbar-outer">
|
<form id="searchbar-outer" class="searchbar-outer">
|
||||||
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
|
<input type="search" name="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
|
||||||
</div>
|
</form>
|
||||||
<div id="searchresults-outer" class="searchresults-outer hidden">
|
<div id="searchresults-outer" class="searchresults-outer hidden">
|
||||||
<div id="searchresults-header" class="searchresults-header"></div>
|
<div id="searchresults-header" class="searchresults-header"></div>
|
||||||
<ul id="searchresults">
|
<ul id="searchresults">
|
||||||
|
|
|
@ -242,6 +242,7 @@ window.search = window.search || {};
|
||||||
function init() {
|
function init() {
|
||||||
resultsoptions = window.search.resultsoptions;
|
resultsoptions = window.search.resultsoptions;
|
||||||
searchoptions = window.search.searchoptions;
|
searchoptions = window.search.searchoptions;
|
||||||
|
searchbar_outer = window.search.searchbar_outer;
|
||||||
searchindex = elasticlunr.Index.load(window.search.index);
|
searchindex = elasticlunr.Index.load(window.search.index);
|
||||||
|
|
||||||
// Set up events
|
// Set up events
|
||||||
|
@ -250,6 +251,8 @@ window.search = window.search || {};
|
||||||
document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false);
|
document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false);
|
||||||
// If the user uses the browser buttons, do the same as if a reload happened
|
// If the user uses the browser buttons, do the same as if a reload happened
|
||||||
window.onpopstate = function(e) { doSearchOrMarkFromUrl(); };
|
window.onpopstate = function(e) { doSearchOrMarkFromUrl(); };
|
||||||
|
// Suppress "submit" events so the page doesn't reload when the user presses Enter
|
||||||
|
document.addEventListener('submit', function(e) { e.preventDefault(); }, false);
|
||||||
|
|
||||||
// If reloaded, do the search or mark again, depending on the current url parameters
|
// If reloaded, do the search or mark again, depending on the current url parameters
|
||||||
doSearchOrMarkFromUrl();
|
doSearchOrMarkFromUrl();
|
||||||
|
|
Loading…
Reference in New Issue