my script works but i don't understand how to make it NOT launch the functions when in a textarea/input and those keys are pressed. aka: launch the event when the user presses that key, unless the user is in a textarea/input.
$('body').keyup(function (event) {
var direction = null;
if (event.keyCode == 37) {
$('#wrapper').fadeOut(500)
} else if (event.keyCode == 39) {
$('html,body').animate({scrollTop: $('body').offset().top}, {duration: 1500, easing: 'easeInOutQuart'}
)
return false;
}
})
Just check event.target:
$('body').keyup(function(event) {
if ($(event.target).is(':not(input, textarea)')) {
...
}
});
In this case you will still have only one event handler (attached to the body) but it will filter for elements that recieves the event
Try:
$('body *:not(textarea,input)').keyup(function (event) {
});
$('body :not(textarea,input[type=text])').keyup(function (event) {
or
$('body').not('textarea,input[type=text]').keyup(function (event) {
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With