I've set up a couple of event triggers to close specific elements when the user clicks outside of them. This works great for non-mobile devices, but on a mobile or a tablet they won't fire. I'm assuming this is because tap events trigger differently than clicks. Any suggestions on how to approach this so that a function will cover both aspects?
// Listen for unique event targets
$(document).on( 'click', function(event) {
if (!$(event.target).closest( '.modal .content' ).length) {
$( '.modal' ).fadeOut(200);
}
if (!$(event.target).closest( '.language-selector ul' ).length) {
if ( $( '.language-selector' ).is( ':visible') ) {
$( '.language-selector >' ).removeClass('active');
}
}
if (!$(event.target).closest( '.searchbox' ).length) {
if ( $( '.searchfield' ).is( ':visible') ) {
$( '.searchfield' ).removeClass('active').parents( '.searchbox' ).find( 'input[type="submit"]' ).removeClass( 'active' );
}
}
});