-1

嗨,我想在 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>
4

2 回答 2

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() 那样触发事件,但如果这是有效代码,那么这应该可以解决您的问题。

于 2012-08-09T09:56:14.943 回答
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 );
于 2012-08-09T10:23:52.710 回答