我的脚本可以工作,但我不明白如何使其在文本区域/输入中按下这些键时不启动功能。又名:当用户按下该键时启动事件,除非用户位于文本区域/输入中。
$('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;
}
})
最佳答案
只需检查 event.target:
$('body').keyup(function(event) {
if ($(event.target).is(':not(input, textarea)')) {
...
}
});
在这种情况下,您仍然只有一个事件处理程序(附加到正文),但它将过滤接收事件的元素
关于jquery:在 keyup 上执行此操作,除非该人位于文本区域或输入中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3787939/