代码之家  ›  专栏  ›  技术社区  ›  Caveatrob

框架内的jquery click处理程序不工作

  •  1
  • Caveatrob  · 技术社区  · 15 年前

    <!-- #include file ="..\include\AuthenticationCheck.asp" --> 
    <!-- #include file ="..\include\serverValidate.asp" --> 
    
    <html>
    <head>
    <meta NAME="GENERATOR" Content="Microsoft Visual InterDev 1.0">
    <meta HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Raider Writer Student Roll</title>
    <script type="text/javascript" src="../include/js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="../include/js/jquery-ui-1.8.4.custom.min.js"></script>
    
    <script type="text/javascript">
    
        $(function(){//document ready
    
           $("#main").ready(function () { //The function below executes once the iframe has finished loading
    
                      $("#main .confirmLink").click(function(e) {
                        alert('hi');
    
                        });
                    });
    
    
    } );
    </script>
    
    </head>
    <%
        course_id=request("course_Id")
        if ValidateNumber(course_id)=false then 
            err.raise 8,"Validation: <course_id> is Invalid","<course_id> is: " & course_id
        End if
    
    
    %>
    <%session("currentpage")="tracking"%>
    
    <frameset rows="100,*" border="0">
      <frame name="banner" id="banner" scrolling="no" target="contents" src="rollbanner.asp?course_id=<%response.write(course_id)%>">
      <frameset cols="16%,*" border="5">
        <frame name="contents" id="contents" src="roll.asp?course_id=<%response.write(course_id)%>">
    
    
    
            <frame name="main" id="main" src="../action/helpread.asp?dm=trackingdocs">
    
      </frameset>
      <noframes>
      <body>
      <p>This page uses frames, but your browser doesn't support them.</p>
    
      </noframes>
    </frameset>
    
    
    </body>
    </html>
    
    3 回复  |  直到 15 年前
        1
  •  0
  •   Kenneth J    15 年前

    你试过用吗 #main 作为上下文?

    $(".confirmLink","#main").click(function(e) {('hi');});
    

    或改变 $("#main").ready(fn) $("#main").load(fn)

        2
  •  1
  •   Pointy    15 年前

    你不能看一个 <frame> 往那边走。试试这个:

    $('#main').contents().find('.confirmLink').click(function() { ... });
    

    现在,即使这样 导入jQuery,然后可以执行以下操作:

    $('#main').get(0).contentWindow.$('.confirmLink').click(function() { ... });
    

    这将使用框架自己的jQuery来设置处理程序。

        3
  •  0
  •   Joe Mills    15 年前

    如果您可以控制加载到框架中的页面,那么快速解决方法就是将jQuery调用封装在函数中,然后在框架的页面中调用该函数。