嗨我希望在javascript中触发空格键而不按文本框中的空格键,我试过这段代码请帮我解决这个问题
<script language="javascript" type="text/javascript">
jQuery(document).ready(function () {
var getOldValue = jQuery("#<%=txtCompany.ClientID%>");
var e = jQuery.Event("keydown");
e.which = 32; //key code
jQuery("#<%=txtCompany.ClientID%>").trigger(e);
});
</script>
和aspx页面是
<asp:TextBox ID="txtCompany"></asp:TextBox>
答案 0 :(得分:0)
您正在客户端脚本上使用服务器端标记。这不行。相反,ASP将创建一个id等于txtCompany的HTML输入框。所以让我们使用它。
jQuery(document).ready(function () {
var inputBox = jQuery("#txtCompany"),
getOldValue = inputBox.val(),
e = jQuery.Event("keydown");
e.which = 32; //key code
inputBox.trigger(e);
});
我没有按照你使用jQuery.Event()的方式触发事件,但如果这是有效的代码,那么这应该可以解决你的问题。
答案 1 :(得分:0)
你可以使用initKeyEvent和jquery
var e = jQuery.Event("keydown");
e.which = 50; //key code
$("#some_element").trigger(e);
并且在vanilla javascript中,这就是它的工作原理:
// Create the event
var evt = document.createEvent( 'KeyboardEvent' );
// Init the options
event.initKeyEvent(
"keypress", // the kind of event
true, // boolean "can it bubble?"
true, // boolean "can it be cancelled?"
null, // specifies the view context (usually window or null)
false, // boolean "Ctrl key?"
false, // boolean "Alt key?"
false, // Boolean "Shift key?"
false, // Boolean "Meta key?"
9, // the keyCode
0); // the charCode
// Dispatch the event on the element
el.dispatchEvent( evt );