[Pro] Javascript for Search Field, Safari problems

Hi Walter,

Thank you for the JS education! I confirmed your “wrapped” handler works great.

Per your suggestion about placement before , are you saying I should put all my “addEventListener” code snippets in that location? Right now, I have everything placed before , as follows:

//clear & unselect search field on page load
document.addEventListener("load",function(evt){
 var GF = document.getElementById("Field");
 //delete field contents and defocus on page load
 GF.value = "";
 GF.blur();
});

document.addEventListener('DOMContentLoaded', function(){
  document.getElementById('Field').addEventListener('blur', function(){
    this.value = '';
  });
});

//clear & reset search field on press of browser Back button
//(works in FF, Chrome & Safari, but not IE)
function pageShown(evt){
    var GF = document.getElementById("Field");
    if (evt.persisted){
        GF.value = "";
        GF.blur();
    }
}
window.addEventListener("pageshow", pageShown, false);

//prevents blue hover border from sticking in iOS Safari on browser BACK
function touchStart(evt){
    if (evt){
        document.getElementById("Field").style.border = "2px solid transparent";
    }
}
window.addEventListener("touchstart", touchStart, false);

//clear & reset search field on press of browser Back button in IE
function detectIE() {
    var ua = window.navigator.userAgent;
    var msie = ua.indexOf('MSIE '); //IE 10 & lower
    var trident = ua.indexOf('Trident/'); //IE 11
    var edge = ua.indexOf('Edge/');
    if (msie > 0 || trident > 0 || edge > 0) {
        document.getElementById("Field").value = "";
        document.getElementById("Field").blur();
    }
    return false; // browsers other than IE
}

dynamo mailing list
email@hidden
Update your subscriptions at: