我已使用代码按空格键禁用滚动 在线(434)
我使用内联代码 (427-432) 通过在正文中的任意位置按空格键来播放/暂停视频。
//那么如何在 textarea 中启用空白?
以及如何通过在文本区域中按空格键来禁用播放/暂停视频?//
我已经尝试使用代码内联 (433) 在 textarea 中启用空白,但它不起作用。
427-432:
Object.defineProperty(HTMLMediaElement.prototype, '播放', {
获取:函数(){
return !!(this.currentTime > 0 && !this.paused && !this.ended && this.readyState > 2); } });
$("body").on("keydown", function(e) { 如果 (e.keyCode == 32) {
如果(document.querySelector(“视频”)。播放){
$("视频")[0].暂停(); } 别的 {
$("视频")[0].播放(); } } });
433:
$("#comment").on("keydown", function(e) { if (e.keyCode == 32) { return true; } });
434:
$(document).keydown(function(e) { if (e.which == 32) { return false; } });
最佳答案
在您的 document
监听器中,只有当事件的 target
不是 textarea
时才返回 false
:
$(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
中额外允许空格:
$(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>
关于javascript - 通过按空格键禁用滚动,然后如何在 textarea 和...中启用空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53938365/