我需要用户将文本插入textarea作为每个按键一个字母,所以如果按下一个键,它将只写一个字母('a')而不是多个字母('aaaaaaaaaaaaaaaaaa')。要输入最后一个字符串,用户必须多次按下键盘按钮。
这可能吗?
可以使用Javascript和JQuery。
谢谢!
答案 0 :(得分:3)
警告:我强烈建议不要这样做,尤其是因为使用辅助技术的用户可能会产生意想不到的后果。
您可以观看keypress
和keyup
并禁止进一步的keypress
个活动,直到您看到keyup
。请注意,这不会阻止他们按住某个键并切换某些其他键(例如 Shift 或 Ctrl ),但它会要求他们切换一些键:
var preventKeypress = false;
$("textarea")
.on("keyup", function() {
// Allow keypresses again
preventKeypress = false;
})
.on("keypress", function(e) {
if (preventKeypress) {
// Disallow it
e.preventDefault();
} else {
// Allow it, but then disallow until we next see keyup
preventKeypress = true;
}
});

<textarea rows="5" cols="50"></textarea>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
我不是说它是万无一失的,或者是个好主意......: - )