Проблемы с добавлением события на Google Maps v3 в IE8 с помощью bind (это) - PullRequest
0 голосов
/ 07 февраля 2012

Этот код ниже прекрасно работает в Chrome и IE 9. Но разрывается в IE 8.

Странная строка здесь.Я думаю, что это связка.

google.maps.event.addListener(this.map, "click", (this.leftClick).bind(this));

Кто-нибудь еще имел эту проблему?Непонятно, есть ли у кого-то такое на SO.

<!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>
<style>
    html, body, #map
    {
        margin: 0;
        padding: 0;
        height: 100%;
        width: 100%;
    }
</style>

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.js"></script>
<script src="http://maps.googleapis.com/maps/api/js?libraries=geometry,drawing&sensor=true" type="text/javascript"></script>
<script language="javascript">

    var MyPage = function () {
        this.map = null; //google map
    };

    MyPage.prototype.initialize = function () {
        this.map = new google.maps.Map(document.getElementById("map"),
        {
            zoom: 8,
            center: new google.maps.LatLng(30, -97),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        });

        google.maps.event.addListener(this.map, "click", (this.leftClick).bind(this));
    }

    MyPage.prototype.leftClick = function (event) {
        alert('hi');
    }

    $(window).load(function(){
        var my = new MyPage();
        my.initialize();
    });

</script>
</head>
<body>
<div id="map"></div>
</body>
</html>

1 Ответ

1 голос
/ 08 февраля 2012

Метод связывания не поддерживается в IE8 или ниже, см. http://msdn.microsoft.com/en-us/library/ff841995(v=vs.94).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...