Javascript 使用jQuery实时更新内部文本
我现在正在做一个项目。在这个项目中,我想实时更新一些按钮文本。我在项目中使用了Javascript 使用jQuery实时更新内部文本,javascript,jquery,live-update,Javascript,Jquery,Live Update,我现在正在做一个项目。在这个项目中,我想实时更新一些按钮文本。我在项目中使用了contenteditable=“true”。我有两个解决方案。第一个工作正常,但我没有得到我想要的第二个有问题。在第二种情况下,当用户长时间按键时,文本将显示,而不释放按键。 在第一个事件中,我使用了keyup事件,在第二个事件中,我使用了keydown事件。我希望当keyup事件发生时,按钮的内部文本将更改为新文本 这是我的第一个密码(keyup): 这是我的第二个密码(按键): 用户正在键入的元素的内容不一定在
contenteditable=“true”
。我有两个解决方案。第一个工作正常,但我没有得到我想要的第二个有问题。在第二种情况下,当用户长时间按键时,文本将显示,而不释放按键。在第一个事件中,我使用了
keyup
事件,在第二个事件中,我使用了keydown
事件。我希望当keyup
事件发生时,按钮的内部文本将更改为新文本
这是我的第一个密码(keyup):
这是我的第二个密码(按键):
用户正在键入的元素的内容不一定在
按键事件发生时更新。这就是为什么它不会更新
如果使用键控
,则不会出现此问题。尝试输入
事件
$('[contenteditable]').on('input', function() {
$(this).closest('.code').prev().find('a').html($(this).html());
})
这是由于每次按键事件的触发点。你不能改变它。但是,如果keyup
按您的要求工作,有什么问题?我不确定您真正想要的是什么。但您也可以尝试输入事件。两个小提琴在Chrome中都工作正常。但同意Rory的观点,这是因为关键事件。为什么不用up或keychange,而不用down?
$('[contenteditable]').on('keydown', function() {
$(this).closest('.code').prev().find('a').html($(this).html());
})
$('[contenteditable]').on('input', function() {
$(this).closest('.code').prev().find('a').html($(this).html());
})