如果用户按空格键,我的脚本会执行一些操作(例如停止一个音频播放器):
$('html').keydown(function(e){
if(e.keyCode == 32){
// Stop the audio player
}
}
但是当用户尝试在文本区域中写入消息时,问题就出现了,因为之前的函数执行了(而且非常烦人)...如果用户正在写入消息,我该怎么做才能不执行该函数在文本区域或其他元素上?
最佳答案
当用户将焦点集中在某些控件上时,您需要跳过,如果用户在文本区域中键入内容,此示例将阻止播放器停止。
$(function () {
$(document).keypress(function (e, f) {
var tagName = e.target.tagName.toLowerCase();
if (tagName != 'textarea') {
if (e.keyCode == 32) {
console.log('Stop Playing');
}
}
});
});
希望这会有所帮助。
关于javascript - 如果单击某些 div,则不执行 keydown 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25867254/