Cri*_*sty 3 javascript keypress
如何触发keypress以模拟真实的用户行为?
如果我使用$('#input').trigger(jQuery.Event('keypress', {which: 65}))我希望字母 'a' 出现在该输入中,但即使触发了按键,也不会出现任何内容。
是否可以在不直接更改输入的情况下显示按下的键value?
抱歉,不,这不是 DOM 事件的工作方式。当你用 JavaScript 触发一个事件时,它不是一个受信任的事件,这意味着它不会(除了后面提到的情况)改变 DOM。
当您触发 jQuery(或 DOM)事件时,就像 DOM 告诉您的 JavaScript 代码在输入中按下了某个键一样。它通常不会改变 DOM 本身。
根据规范,触发时将执行默认行为的唯一事件是click和DOMActivate。从规范:
大多数不受信任的事件不应触发默认操作,但单击或 DOMActivate 事件除外。这些事件触发激活触发器的默认操作(有关更多详细信息,请参阅激活触发器和行为);这些不受信任的事件的 isTrusted 属性值为 false,但仍会启动任何默认操作以实现向后兼容性。
所有其他不受信任的事件的行为都必须像在该事件上调用了 Event.preventDefault() 方法一样。
您必须更改输入的value(.val()在 jQuery 中)。