Javascript 如何用jQuery模拟用户按键
我需要模拟用户在文本区域按空格键。代码必须与用户按键时的代码完全一致。有什么想法吗?Javascript 如何用jQuery模拟用户按键,javascript,jquery,Javascript,Jquery,我需要模拟用户在文本区域按空格键。代码必须与用户按键时的代码完全一致。有什么想法吗? 使用jQuery.trigger()不起作用,因为它只触发按键的事件处理程序,实际上并不“发送”文本区域的键。如果您仅出于测试目的需要此键,我建议您编写脚本。如果您仅出于测试目的需要此键,我建议您编写脚本。要将光标放置在某个空间中,请替换任何选定的文本,并将光标定位在用户键入该空间时光标所在的位置(假设textarea具有焦点): 当然,如果您还需要启动spacebar的“keydown”事件,则必须单独触发它
使用
jQuery.trigger()
不起作用,因为它只触发按键的事件处理程序,实际上并不“发送”文本区域的键。如果您仅出于测试目的需要此键,我建议您编写脚本。如果您仅出于测试目的需要此键,我建议您编写脚本。要将光标放置在某个空间中,请替换任何选定的文本,并将光标定位在用户键入该空间时光标所在的位置(假设textarea具有焦点):
当然,如果您还需要启动spacebar的“keydown”事件,则必须单独触发它,这在jQuery中很容易:
var spaceEvt = new $.Event( 'keydown', { keyCode: 32 });
$( myTextarea ).trigger( spaceEvt );
要在光标所在的空间中放置光标,请替换任何选定的文本并将光标定位在用户键入该空间时光标所在的位置(假设textarea具有焦点): 当然,如果您还需要启动spacebar的“keydown”事件,则必须单独触发它,这在jQuery中很容易:
var spaceEvt = new $.Event( 'keydown', { keyCode: 32 });
$( myTextarea ).trigger( spaceEvt );
当用户第一次按下键盘上的键时,keydown事件被发送到元素。keydown@kunalbhat-jQuery.keydown-是一个事件处理程序-它处理一个事件,不启动逐项测试?或出于功能原因进行模拟?@Andrey,但它确实启动一个事件,只是没有您想要的结果。@KevinB-它启动事件,而不是实际按下文本框中的按钮。我需要在文本框中输入空格值,但它会认为用户按下了空格键。当用户第一次按下键盘上的键时,keydown事件会发送到元素。keydown@kunalbhat-jQuery.keydown-是一个事件处理程序-它处理事件,而不是启动itEmulate用于测试?或出于功能原因进行模拟?@Andrey但它确实会启动一个事件,只是不会产生您想要的结果。@KevinB-它启动事件,而不是实际按下文本框中的按钮。我需要在文本框中按空格值,但它会认为用户按下了空格键。