Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите разобраться с ошибкой (https://javascript.ru/forum/misc/48441-pomogite-razobratsya-s-oshibkojj.html)

ImPuLsE 04.07.2014 00:36

Помогите разобраться с ошибкой
 
Всем привет! не могу понять что не так, почему то фаербаг выдает ошибку :
TypeError: item.bind is not a function


item.bind('click', function() {



Код:
function init() {
		if($('map')) {
			var myMap = new ymaps.Map('map', {
				center: [55.751497,37.665506],
				zoom: 14
			});
			var moscowPlacemark = new ymaps.Placemark([55.751497,37.665506], {
				balloonContent: '1356120, Москва, Костомаровский пер., д. 34, стр. 1 Ст. метро: Курская',
				iconContent: 'Группа компаний «Техно»'
			}, {
				preset: 'twirl#yellowStretchyIcon',
			});
			var moscowRegionPlacemark = new ymaps.Placemark([55.771238339306784, 38.43160126369187], {
				balloonContent: '144532, Московская обл., г. Балашиха, ул. Западная, д.53-Б',
				iconContent: 'Группа компаний «Техно»'
			}, {
				preset: 'twirl#yellowStretchyIcon',
			});
			var spbPlacemark = new ymaps.Placemark([59.874693, 30.33591], {
				balloonContent: '195433, Санкт-Петербург, проспект Юрия Гагарина, д.134',
				iconContent: 'Группа компаний «Техно»'
			}, {
				preset: 'twirl#yellowStretchyIcon',
			});

			var mapControls = $('.map-control');
			var destinations = {
				'#moscow': moscowPlacemark,
				'#moscowRegion': moscowRegionPlacemark,
				'#spb': spbPlacemark
			};
			mapControls.each(function(item, i) {
				item.bind('click', function() {
						var position = $('map').getPosition().y;
						window.scrollTo(0, position);
						var destination = destinations[this.get('href')];
						myMap.panTo(destination.geometry.getCoordinates(), {
							flying: true,
							duration: 3000
						})
						return false;
					}
				);
			});

			myMap.behaviors.enable('scrollZoom');

			myMap.controls
			.add('mapTools')
			.add(new ymaps.control.TypeSelector(['yandex#map', 'yandex#satellite', 'yandex#hybrid']))
			.add('zoomControl')
			.add('mapTools');

			myMap.geoObjects
			.add(moscowPlacemark)
			.add(moscowRegionPlacemark)
			.add(spbPlacemark);

		}
	}

Vlasenko Fedor 04.07.2014 00:48

item.on('click', function() {
пробуйте так версия jQuery какая
походу Рони прав

Sweet 04.07.2014 00:49

$(item).bind('click', function() {

рони 04.07.2014 00:49

ImPuLsE,
потому что число нельзя кликнуть

ImPuLsE 04.07.2014 08:21

Цитата:

Сообщение от Sweet (Сообщение 319385)
$(item).bind('click', function() {

Спасибо огромное помогло! ошибка ушла, только вот всё равно почему то карта не скролица по клику на определенный адрес(( Скрипт переписываю с рабочего на mootools ...

вот рабочий пример с mootools http://www.techno-el.ru/kontakti.html кликаем на "Показать на карте"

/templates/tmp-techno-el/js/cmaps.js

Помогите за вознаграждение!

ImPuLsE 04.07.2014 11:42

вопрос решен спасибо всем!

рони 04.07.2014 11:46

ImPuLsE,
вопрос если вы делаите на jQuery ? то код предназначенный для mootools несработает -- либо у вас конфликт mootools и jQuery

рони 04.07.2014 11:59

ImPuLsE,
jQuery потом все скрипты что работают с jQuery затем освобождаем $ -- jQuery.noConflict -- потом грузим mootools и все скрипты что связаны с mootools -- не смотря на похожий синтаксис mootools и jQuery устроены по разному
mapControls.each(function(item, i) - mootools - item элемент i индекс -- в jQuery наоборот


Часовой пояс GMT +3, время: 13:22.