我有一个可编辑的div,我需要在输入最新的密钥之前将输入的文本与其内容进行比较。
例如: 上一篇文章:Bhumi 新文:Bhumik
以下是正在键入的K我应该知道内容已经更改。此检测需要在keyPress事件上完成。
然而,当我在每个按键时我的console.log的div的html然后最后的console.log是“Bhumi”,即。在'k'按键上,内容仍然没有注册K.这仅在keyup上添加。无论如何,我可以检测到未来的内容可能是什么,以便在每个按键上我得到我将在keyup上的内容???
另外,我不是只处理一行而是处理多行。
编辑::: 我不需要输入字符。假设我有10行,我可以在每个按键时预测一行的最终内容,然后将以前的文本与未来的预测文本进行比较,我可以知道用户当前在哪一行输入。
答案 0 :(得分:0)
您可以从事件对象中读取按下的键。
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) { //Enter keycode
//Do something
}
答案 1 :(得分:0)
试试这段代码..
$("#divId").keypress(function (e) {
var keycode = e.keycode ? e.keycode : e.which;
}
});
您可以使用按键,键控或键盘。有关Javascript键事件的详情,请点击 here
答案 2 :(得分:0)
您可以尝试使用.on()
处理程序的多个嵌套键事件:
$('div').on('keypress keyup keydown', function(){
console.log($(this).text());
});
答案 3 :(得分:0)
您可以通过获取新字符将被插入的位置来生成未来值:
$('input').bind('keypress',function (){
var value = e.target.value,
idx = e.target.selectionStart,
key = e.key;
value = value.slice(0, idx) + key + value.slice(idx + Math.abs(0));
return yourfunction(value);
});
答案 4 :(得分:-1)