IE8 支持 function.bind () 方法
<script type = "text/javascript"> if (! function.prototype.bind) {function.prototype.bind = ฟังก์ชั่น (othis) {ถ้า (typeof this! == "function") {โยน typeerror ใหม่ ("prototype.bind } var aargs = array.prototype.slice.call (อาร์กิวเมนต์, 1), ftobind = this, fnop = function () {}, fbound = function () {return ftobind.apply - fnop.prototype = this.prototype; fbound.prototype = new fnop (); กลับ fbound; - } </script>主要解决“ 百度地图” 官网上的例子的บั๊ก, 摘取如下代码:
<! doctype html> <html> <head> <meta http-equiv = "content-type" content = "text /html; charset = utf-8" /> <meta name = "viewport" content = "เริ่มต้น 100%; มาร์จิ้น: 0; Font-Family: "微软雅黑";} #ALLMAP {WIDTH: 100%; ความสูง: 500PX;} P {MARGIN-Left: 5PX; FONT-SIZE: 14PX;} </style> <script type = "text/javascript" src = "http://api.map.baidu.com/api?v=2.0&ak=39b92e64ae5622663CeceACCD8AB8EB1" src = "http://libs.baidu.com/jquery/1.9.0/jquery.js"> </script> <title> 给多个点添加信息窗口 </title> <script type = "text/javascript"> ถ้า (! function.prototype.bind) typeError ("function.prototype.bind - สิ่งที่พยายามจะถูกผูกไว้นั้นไม่สามารถเรียกได้"); } var aargs = array.prototype.slice.call (อาร์กิวเมนต์, 1), ftobind = this, fnop = function () {}, fbound = function () {return ftobind.apply - fnop.prototype = this.prototype; fbound.prototype = new fnop (); กลับ fbound; - } </script> </head> <body> <div id = "allmap"> </div> <p> 点击标注点, 可查看由纯文本构成的简单型信息窗口 </p> </body> </html> <script type = "text/javascript"> // 百度地图 api 功能 map = new bmap.map ("allmap"); MAP.CENTERANDZOOM (ใหม่ BMAP.Point (116.417854,39.921988), 15); var data_info = [[116.417854,39.921988, "地址: 88 号乐天银泰百货八层"], [116.406605,39.921585, "地址: 北京市东城区东华门大街"] var opts = {width: 250, // 信息窗口宽度ความสูง: 80, // 信息窗口高度ชื่อเรื่อง: "信息窗口", // 信息窗口标题 enableMessage: true // 设置允许信息窗发送短息}; สำหรับ (var i = 0; i <data_info.length; i ++) {var marker = ใหม่ bmap.marker (ใหม่ bmap.point (data_info [i] [0], data_info [i] [1])); // 创建标注 var content = data_info [i] [2]; map.addoverlay (marker); // 将标注添加到地图中 marker.addeventListener ("คลิก", openInfo.bind (null, เนื้อหา)); } ฟังก์ชั่น openInfo (เนื้อหา, e) {var p = e.target; var point = ใหม่ bmap.point (p.getPosition (). lng, p.getPosition (). lat); var infowindow = ใหม่ bmap.infowindow (เนื้อหา, opts); // 创建信息窗口对象 map.openinfowindow (infowindow, point); // 开启信息窗口} </script>