【问题标题】:jquery click function does not workjquery点击功能不起作用
【发布时间】:2017-11-14 17:05:57
【问题描述】:

我有一个用 VS 2013 编写的 asp.net Web 应用程序。该应用程序有嵌套母版页,主母版页有以下代码:

<!DOCTYPE html>
        <script src="http://code.jquery.com/jquery-latest.min.js"
        type="text/javascript"></script>

我的网络表单还包含以下代码:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
</script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#textbox1').click(function () {
                alert('Hello');
            });
        });
    </script>

<div class="form-group">
    <label class="control-label">Name</label>
    <input type="text" id="textbox1" class="form-control" placeholder="Name" maxlength="50" runat="server">
</div>

当我构建项目并在浏览器(ie 或 chrome)上运行时,我点击“textbox1”,浏览器什么也不做。

感谢您的帮助。

【问题讨论】:

  • 标签暂时被遗忘了剪切和粘贴..道歉。

标签: javascript c# jquery asp.net web-applications


【解决方案1】:

你应该替换这个:

$('#textbox1')

用这个:

$('#<%=textbox1.ClientID%>')

您的文本框是一个服务器端控件。因此,您必须阅读ClientID,才能阅读由 ASP.NET 生成的 HTML 标记的 ID。欲了解更多信息,请查看here。一般如上一个链接所述:

当 Web 服务器控件呈现为 HTML 元素时,id HTML 元素的属性设置为 ClientID 的值 属性

此外,您必须删除结束 script 标记 &lt;/script&gt;,就在您的脚本的开始 script 标记 &lt;script&gt; 之前。

【讨论】:

    【解决方案2】:

    在您的 asp 标记之后,您有一个额外的 &lt;/script&gt; 标记。

    在没有它的情况下尝试相同的代码:

    <script src="https://code.jquery.com/jquery-latest.min.js"type="text/javascript"></script>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    </script>
        <script type="text/javascript">
            $(document).ready(function () {
                $('#textbox1').click(function () {
                    alert('Hello');
                });
            });
        </script>
    
    <div class="form-group">
        <label class="control-label">Name</label>
        <input type="text" id="textbox1" class="form-control" placeholder="Name" maxlength="50" runat="server">
    </div>
    

    在这里为我工作:https://jsfiddle.net/mutjg5sq/

    【讨论】:

      【解决方案3】:

      试试这个,希望对你有帮助

      脚本:

      <script src="https://code.jquery.com/jquery-latest.min.js"type="text/javascript"></script>
      

      HTML:

      <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server>
      

      jquery:

      <script>
           $('#textbox1').click(function () {
                          alert('Hello');
                      });
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-29
        • 2017-01-12
        相关资源
        最近更新 更多