我有一个文本框,用户在任何时候单击它都需要触发后面代码中的函数。这是JQuery:

    <script type="text/javascript">

      $("#txtName").click(function(){<%TextChanged();%>});

    </script>


这是文本框用户界面:

<asp:TextBox ID="txtName" runat="server"></asp:TextBox>


这是TextChanged()函数背后的代码,在其中运行一些查询:

protected void TextChanged()
    {
        //Writing my query here!!!
    }


现在,此函数在Page_Load()中而不是在txtName.Click中启动。为什么?每当用户单击txtName时,我都希望从JQ触发此TextChanged()函数!

最佳答案

您不久前问了一个与此非常类似的问题。问题是,如果没有一些粗鲁的陪审团,这将无法正常工作。每次在该文本框中更改文本时都要运行服务器端代码,这会带来不良的用户体验,因为每次更改文本时页面都会回发。因此,每次用户按下按键时,页面都会消失,重新出现,然后,如果您未设置焦点,他们将不得不再次查找文本框。

您确实需要通过JavaScript / jQuery处理在客户端执行的所有操作。您的最终目标是什么?更改文字后您想做什么?

10-06 15:58