zoukankan      html  css  js  c++  java
  • 关于this 方法中套方法中找 立即执行的问题 等问题

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>this</title>
    </head>
    
    <script type="text/javascript" src="jquery.1.9.0.min.js"></script>
    <style type="text/css">
    
    li{ line-height:35px;
      height:35px;
    }
    
    </style>
    <body>
    
    <ul>
      <li>1111111111</li>
      <li>2222222</li>
      <li>33333333</li>
      
    
    </ul>
    </body>
    </html>
    
    
    <script type="text/javascript">
    
    $("li").click(function(){
        
         var oIndex=$(this).index();
         
            a(oIndex);
        
        })
        
        function a(oIndex){
            
             setTimeout(function(){
                  alert(oIndex)
                 },1000)
             
        }
    </script>

    ps: 上面的这样找的时候,就会找不准。 解决办法是 获取当前 索引值 的时候,  重新定义一下。

    <script type="text/javascript">
    
    $("li").click(function(){
        
         var oIndex=$(this).index();
         var i=oIndex;//重新定义
         
            a(i);
        
        })
        
        function a(i){
            
             setTimeout(function(){
                  alert(i)
                 },1000)
             
        }
    </script>

    第二种方法:

    <script type="text/javascript">
    $("li").click(function(){
         var i=$(this).index();
         //var i=oIndex;
           (function(a){        //用立即执行解决
             setTimeout(function(){
                  alert(a)
                 },1000)
             })(i)
        })
    </script>



     //立即执行规则

      (function(a) {
               setTimeout(function() {
                   console.log(a);
               }, 1000);
           })(i);

     // 点击事件 调用一个方法 传递this 第一种方法

    $("li").click(function(e){
         a(e);
    })
    function a(e){
    var index=    $(e.target).index();
        alert(index);
    }

    // 点击事件 调用一个方法 传递this 第二种方法,此方法是为了。动态加载过来的数据,绑定不上点击事件 ,

    在HMTL 绑定事件。

    // 代码如下
    <li onClick="a(this)"> 点我 </li>

    // js部分
    function a(othis){
    var index = $(othis).index();
    }
  • 相关阅读:
    C# 字符串相似度算法
    在C# 中枚举COM对象的方法和属性名称
    question:读取以TAB为分隔符CSV文件时遇到的问题
    WCF文件传输
    C#读写XML的演示程序(1)
    C#解析HTML 的两种方法
    在C#中使用MSHTML的高级支持接口
    XML读写演示程序(2)
    聊天程序WMChat开发文档
    数据表之间的链接
  • 原文地址:https://www.cnblogs.com/yjhua/p/5013022.html
Copyright © 2011-2022 走看看