执行触发按键javascript

Cri*_*sty 3 javascript keypress

如何触发keypress以模拟真实的用户行为?

如果我使用$('#input').trigger(jQuery.Event('keypress', {which: 65}))我希望字母 'a' 出现在该输入中,但即使触发了按键,也不会出现任何内容。

是否可以在不直接更改输入的情况下显示按下的键value

演示:http : //jsfiddle.net/KrHYn/

Ben*_*aum 5

抱歉,不,这不是 DOM 事件的工作方式。当你用 JavaScript 触发一个事件时,它不是一个受信任的事件,这意味着它不会(除了后面提到的情况)改变 DOM。

当您触发 jQuery(或 DOM)事件时,就像 DOM 告诉您的 JavaScript 代码在输入中按下了某个键一样。它通常不会改变 DOM 本身。

根据规范,触发时将执行默认行为的唯一事件是clickDOMActivate。从规范:

大多数不受信任的事件不应触发默认操作,但单击或 DOMActivate 事件除外。这些事件触发激活触发器的默认操作(有关更多详细信息,请参阅激活触发器和行为);这些不受信任的事件的 isTrusted 属性值为 false,但仍会启动任何默认操作以实现向后兼容性。

所有其他不受信任的事件的行为都必须像在该事件上调用了 Event.preventDefault() 方法一样。

您必须更改输入的value.val()在 jQuery 中)。