我有一些Javascript可让空格键暂停正在播放的歌曲。但是“ event.stopInmediatePropagation();似乎不起作用...。
我想使用此功能忽略表单或其他内容时的键盘操作。
我正在使用Bootstrap ...
这是我的代码:
$('form').keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '32'){
}
event.stopImmediatePropagation();
});
$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '32'){
if($('#play').is(":visible")){
playNextSong(0);
}
else{
pause();
}
}
});
最佳答案
如果使用可见性隐藏播放按钮,则需要使用$('#play').css("visibility") == "visible"
检查元素是否可见
$('form').keypress(function(event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '32') {}
event.stopPropagation();
});
$(document).keypress(function(event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '32') {
if ($('#play').css("visibility") == "visible") {
//playNextSong(0);
$('#play').css("visibility", "hidden");
} else {
//pause();
$('#play').css("visibility", "visible");
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="play">Play</div>
<form action="">
<input type="text" />
</form>
关于javascript - jQuery按键忽略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27253834/