我有一个带有textarea的网页,我需要捕获用户键入的键(这样我就可以用键入的键替换不同的unicode字符).我目前的代码如下:
$("#myTextArea").bind('keypress', function(event) {
var keyInput = event.which;
// call other functions
});
Run Code Online (Sandbox Code Playgroud)
以上代码适用于PC和iPhone/Safari.但是,在Android(三星)平板电脑上使用Chrome时失败了.出于某种原因,当我在android虚拟(软)键盘上键入时,不会触发"按键"事件.Android版本是5.0.2.
如果我尝试使用"keyUp"或"keyDown",它总是为所有字符返回229(返回键,空格,退格键等除外).
即使keyCode始终为229,textarea也会显示用户键入的正确字符.这意味着设备知道输入了哪个密钥,但不知怎的,我无法使用javascript来处理此事件(和密钥代码).
以下是我迄今为止尝试过的替代方案及其结果:
$("#mainTextArea").on("keydown keyup", function(event) {
// event.which and event.keyCode both return 229
$(document).on('keypress', function(event) {
// function is not triggered
$('#myTextArea').bind('input keypress', function(event) {
// comes inside function, but keyCode and which are undefined
Run Code Online (Sandbox Code Playgroud)
有关此问题的任何帮助表示赞赏..
我们有使用 Spring-Kafka (2.1.7) 的 Springboot 应用程序。我们启用了并发,因此每个分区可以有一个消费者线程。所以目前,如果我们有 3 个主题,每个主题有 2 个分区,就会有 2 个消费者线程,如下所示:
ConsumerThread1 - [topic1-0, topic2-0, topic3-0]
ConsumerThread2 - [topic1-1, topic2-1, topic3-1]
然而,不是每个分区一个 KafkaListener(或消费者线程),我们希望每个主题有一个消费者线程。例如:
ConsumerThread1 - [topic1-0, topic1-1]
ConsumerThread2 - [topic2-0, topic2-1]
ConsumerThread3 - [topic3-0, topic3-1]
如果这是不可能的,即使以下设置也可以:
ConsumerThread1 - [topic1-0]
ConsumerThread2 - [topic1-1]
ConsumerThread3 - [topic2-0]
ConsumerThread4 - [topic2-1]
ConsumerThread5 - [topic3-0]
ConsumerThread6 - [topic3-1]
问题是我们事先不知道完整的主题列表(我们使用通配符主题模式)。可以随时添加新主题,并且应该在运行时为这个新主题动态创建一个新的消费者线程(或多个线程)。
有什么办法可以实现吗?