LinkBut​​ton不会在click()上调用

Hit*_*itz 14 asp.net jquery

为什么这不起作用?

    <script src="Scripts/jquery-1.3.2.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $('.myButton').click();
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:LinkButton id="ttt" runat="server" PostBackUrl="~/Default.aspx" CssClass="myButton">Click</asp:LinkButton>
    </div>
    </form>
Run Code Online (Sandbox Code Playgroud)

Kob*_*obi 37

您要提交表单,还是添加Click事件?您的链接按钮转换为

<a id="ttt" class="myButton" href="javascript:WebForm_DoPos[...]">Click</a>
Run Code Online (Sandbox Code Playgroud)

,所以它没有点击的JavaScript.因此,.click();什么都不做.
我没有测试它,但也许这会工作:

eval($('.myButton').attr('href'));
Run Code Online (Sandbox Code Playgroud)

  • 不要使用eval(eval是邪恶的) - 使用本机javascript click()方法 - 请参阅我的回答.编辑:Eval很糟糕,因为它可能允许攻击者执行任意javascript. (3认同)
  • 实际上,安德鲁,我测试它只是为了确定,而.click()确实启动了onClick事件. (2认同)

Joe*_*oeS 11

触发器('click')触发jQuery的Click事件监听器,.NET没有连接到它.您可以触发javascript click事件,该事件将转到(或在此情况下运行)href属性中的内容:

 $('.myButton')[0].click();
Run Code Online (Sandbox Code Playgroud)

要么

 ($('.myButton').length ? $('.myButton') : $('<a/>'))[0].click();
Run Code Online (Sandbox Code Playgroud)

如果您不确定该按钮是否会出现在页面上.