• js jquery 异常


    1.0 TypeError: $(...).carousel is not a function
    原因:可能是没有引用或者引用了多个jquery:
    <script src="~/js/jquery-1.8.2.js"></script>
    <script src="~/Script/jquery-1.8.2.js"></script>

    2.0 闭包

     1 function AddMark(map, markJsonArray) {
     2     var max = markJsonArray.length;
     3     for (var i = 0; i < max ; i++) {
     4     var item = markJsonArray[i];
     5     var point = new BMap.Point(item.LocationLong, item.LocationLat);
     6     var marker = new BMap.Marker(point);  // 创建标注点
     7     map.addOverlay(marker);              // 将标注添加到地图中
     8 
     9     //*****闭包引起的问题*****:如果用以下写法,会给所有的marker都注册同样的点击事件(即提示内容相同)
    10     //在上面这段代码中,脚本被载入内存后,并没有为函数 addEventListener() 计算变量 item.pId 的值。
    11     //该函数捕获 item.pId 的值只是为了以后的使用,也就是说,解释程序知道在调用该函数时要检查 item.pId 的值。
    12     //item.pId 将在函数调用 addEventListener() 时被赋值;item.pId值为markJsonArray[max-1].pId。
    13     marker.addEventListener("click", function () {
    14         alert("要跳转的url-->" + item.pId);
    15     });//也就是说,页面加载过程中, 注册点击marker时, 提示 "要跳转的url-->" + item.pId .这个时候去找item变量的值. 
    16     //用户操作是, 页面已加载完毕, 此时 item的值在页面加载过程中,经过for循环一系列改变后,最终是 markJsonArray[max-1] . 
    17     //导致结果,所有的marker点击事件提示内容一样.
    18 
    19     //增加点击事件
    20     marker.addEventListener("click", (function (iMark, iMarker) {
    21         alert("我会一直出现!");
    22         //var p = iMarker.getPosition();       //获取iMarker的位置
    23         //alert("iMarker的位置是" + p.lng + "," + p.lat);
    24         return alert("要跳转的url-->" + iMark.pId);
    25         //window.location = iMark.url;
    26     })(item, marker)); //每次执行到marker.addEventListener时,会执行 function (iMark, iMarker){} (item, marker) ,返回一个函数 *****这样,就解决闭包带来的问题***** 
    27 
    28     }
    欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果感觉对您有用,请点击推荐。您的支持,是我的动力!
  • 相关阅读:
    编写简单的c运行库(一)
    c中函数参数传递
    MSVC命令行参数
    在C#中对List<>进行排序
    向DataTable中添加一行数据的做法
    获取本机IP(考虑多块网卡、虚拟机等复杂情况)
    [转]在C#中判断一个文本文件的编码方式
    关于C#使用XML序列化的一些注意事项
    C#中的类型和SQL Server中的类型对应关系
    关于DLL文件和EXE文件不在同一目录下的设置
  • 原文地址:https://www.cnblogs.com/ICE_Inspire/p/4986568.html
Copyright © 2020-2023  润新知