我已通过使用代码按空格键禁用了滚动 内联(434)
然后我使用内联代码(427-432)通过在身体的任何位置按空格键来播放/暂停视频。
//那么如何在textarea中启用空格?
以及如何通过在文本区域中按空格键来禁用播放/暂停视频? //
我已经尝试过内联代码(433)以在textarea中启用空格,但这不起作用。
427-432:
Object.defineProperty(HTMLMediaElement.prototype, 'playing', {
get: function() {
return !!(this.currentTime > 0 && !this.paused && !this.ended && this.readyState > 2); } });
$("body").on("keydown", function(e) { if (e.keyCode == 32) {
if (document.querySelector("video").playing) {
$("video")[0].pause(); } else {
$("video")[0].play(); } } });
433:
$("#comment").on("keydown", function(e) { if (e.keyCode == 32) { return true; } });
434:
$(document).keydown(function(e) { if (e.which == 32) { return false; } });
答案 0 :(得分:1)
在您的document
侦听器中,如果事件的return false
不是target
,则只有textarea
:
$(document).keydown(function(e) {
if (e.which == 32 && e.target.tagName !== 'TEXTAREA') {
return false;
}
});
body {
height: 2000px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea></textarea>
或者,另外在input
s中允许空格:
$(document).keydown(function(e) {
if (e.which == 32 && !['TEXTAREA', 'INPUT'].includes(e.target.tagName)) {
return false;
}
});
body {
height: 2000px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea></textarea>
<input>