.on(“click”,function()在ContentPlaceHolder中使用时不起作用

时间:2015-12-22 07:03:30

标签: javascript c# function

        <script type="text/javascript">
        $(document).ready(function() {
            $('#LkForgot').on('click', function (e) {
                alert("The paragraph was clicked.");
            });
        });
    </script>

上述代码不起作用。当我点击ContentPlaceHolder中的#LkForgot时,它没有提醒

这是我的主页:

    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

    <head id="Head1" runat="server">
        <title>viber bulk sender</title>
        <script type="text/javascript" src="script/jquery-1.11.1.min.js"></script>
        <script type="text/javascript" src="script/jquery-ui.min.js"></script>
        <script type="text/javascript" src="script/autosize.min.js"></script>
        <script type="text/javascript" src="script/script.js"></script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <link rel="stylesheet" href="CSS/custombox.min.css">
        <script src="script/custombox.min.js"></script>
        <asp:ContentPlaceHolder ID="head" runat="server">
        </asp:ContentPlaceHolder>
    </head>

<body style="font-family: Tahoma; font-size: 12px;">
    <form id="form1" runat="server">
    <div class="main register relative" style="min-height: 100%; margin: 0; text-align: center;">
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
        </asp:ContentPlaceHolder>

这是内容控件中的脚本:

    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <link rel="stylesheet" href="CSS/custombox.min.css">
    <script src="script/custombox.min.js"></script>
    <script type="text/javascript" src="script/jquery-1.11.1.min.js"></script>
    <script type="text/javascript" src="script/jquery-ui.min.js"></script>
    <script type="text/javascript" src="script/autosize.min.js"></script>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <script type="text/javascript">
        $(document).ready(function() {
            $('#LkForgot').on('click', function (e) {
                Custombox.open({
                    target: '#ddd',
                    effect: 'fadein'
                });
                e.preventDefault();
            });
        });
    </script>
    <asp:LinkButton ID="LkForgot" runat="server">Forgot Password</asp:LinkButton>
    <div id="ddd">
        adsfasdfasd
    </div>
</asp:Content>

任何帮助将不胜感激。 感谢

6 个答案:

答案 0 :(得分:3)

注册您的控制事件,如:

$('[id$=LkForgot]').on('click', function (e) {
            Custombox.open({
                target: '#ddd',
                effect: 'fadein'
            });
            e.preventDefault();
 });

或者

在linkbutton中使用ClientIDMode作为静态。

答案 1 :(得分:1)

尝试像这样修改源路径

<script type="text/javascript" src='<%= ResolveUrl("~/script/jquery-1.11.1.min.js")%>' ></script>

答案 2 :(得分:0)

当您在ContentPlaceHolder中放置内容时,其ID将在呈现给客户端浏览器时更改。

因此您必须使用.class,因为您使用的是div

如果有任何服务器控件,您可以使用以下代码获取客户端ID。

$("#<%=ServerControl1.ClientID%>").click(function(){
    //CODE
});

答案 3 :(得分:0)

像这样添加jquery文件

    <script type="text/javascript" src='<%= ResolveUrl("~/script/jquery-1.11.1.min.js")%>' ></script>

     then 
<script>
     $(document).ready(function () {

    $("#<%=LkForgot.ClientID%>").click(function(){
        //CODE
    });
     });
</script>

答案 4 :(得分:0)

试试这个

$("#<%=LkForgot.ClientID%>").click(function(){
        //CODE
    });

OR

 $(document).ready(function () {

$("#<%=LkForgot.ClientID%>").click(function(){
        //CODE
    });
});

答案 5 :(得分:-2)

您使用类名称调用该函数。因为在创建页面时ID会发生变化。 OR 您可以检查页面html并获取元素的正确ID。或