我有一个我现在正在工作的项目。在这个项目中我想实时更新一些按钮文本。我在项目中使用了contenteditable="true"
。我有2个解决方案。第一个工作正常,但我没有得到我想要的第二个有问题。在第二个我希望当用户长按一个键时,文本将显示而不释放键
在第一个中我使用了keyup
事件,在第二个中我使用了keydown
事件。我想在keyup
事件发生时按钮'内部文本将更改为新文本。
这是我的第一个代码(keyup):
$('[contenteditable]').on('keyup', function() {
$(this).closest('.code').prev().find('a').html($(this).html());
})
这是我的第二个代码(keydown):
$('[contenteditable]').on('keydown', function() {
$(this).closest('.code').prev().find('a').html($(this).html());
})
答案 0 :(得分:0)
用户输入的元素的内容在keydown
事件发生时必然已更新。这就是为什么它不会更新。
如果您使用keyup
,则您不会遇到此问题。
答案 1 :(得分:0)
尝试input
事件
$('[contenteditable]').on('input', function() {
$(this).closest('.code').prev().find('a').html($(this).html());
})