Помогите подключить функцию в onclick
Есть ссылка
<a href="javascript:void(0);" class="link cityselect__link" onclick=".....">город</a> Есть javascript файл var ad = { init: function() { this.bindEvents(); }, bindEvents: function() { var _this = this; // cityselect $('#cityselect .cityselect__link').bind('click', _this.toggleCityselect); }, toggleCityselect: function(e, state) { var pageWrapper = $('#page'), cityselect = $('#cityselect'); if (e) { e.preventDefault(); } if (cityselect.hasClass('cityselect_shown') || state === 'hide') { // hide cityselect.removeClass('cityselect_shown'); $('body').unbind('click', ad.cityselectBodyClickHandler); $(window).unbind('keydown', ad.windowKeydownHandler); } else if (!cityselect.hasClass('cityselect_shown') || state === 'show') { // show cityselect.addClass('cityselect_shown'); $('body').bind('click', ad.cityselectBodyClickHandler); $(window).bind('keydown', ad.windowKeydownHandler); } }, cityselectBodyClickHandler: function(e) { if (!$(e.target).closest('.cityselect__title').length) { ad.toggleCityselect(); } }, windowKeydownHandler: function(e) { if (e.which === 27) { ad.toggleCityselect(null, 'hide'); $(window).unbind('keydown', this.windowKeydownHandler); } } }; $(document).ready(function() { ad.init(); }); Помогите, пожалуйста, в javascript ничего не понимаю, только изучать начала. Нужно в ссылке в onclick вставить функцию обработки, чтобы появилось всплывающее меню с городами. Не могу понять какую функцию вставить, а может и не правильно вставляю и саму функцию вставляю.... |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> </head> <body> <a href="http://google.ru" onclick="return clk();">кликай меня полностью :)</a> <script> function clk() { alert('меня кликнули!'); return false; } </script> </body> </html> |
а селектор находит?
попробуйте в консоль вывести: console.log($('#cityselect .cityselect__link')[0]); |
Цитата:
|
и там это имхо не нужно:
href="javascript:void(0);" Про консоль. чтобы посмотреть в консоль, то это зависит от браузера. называется фаербаг(отладчик), необходим для нахождения ошибок. например в хроме он установлен по умолчанию и вызывается f12. в фаерфокс нужно скачать и установить. после того как вызвали отладчик, там есть вкладка консоль.. туда быдут сыпаться все сообщения (и ошибки тоже). теперь пишем: ... bindEvents: function() { var _this = this; // cityselect console.log($('#cityselect .cityselect__link')[0]); $('#cityselect .cityselect__link').bind('click', _this.toggleCityselect); }, ... если код дойдет до этой строчки: console.log($('#cityselect .cityselect__link')[0]); то в консоль упадет сообщение. и должен отобразиться там объект. если будет undefined то объект не найден. |
В консоле показало:
Uncaught ReferenceError: $ is not defined cityselect.js:50 т.е. как я поняла он его находит, но не определяет, верно? |
на 50й строчке ошибка. мм а у вас jquery библиотека подключена. он на нее ругается. что то на подобии должно быть:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script> вообще в src может и другой адрес быть прописан.. если нет вообще такого подобного вставьте эту строчку |
Нет, не помогает...
|
покажите 50ю строчку.. плюс минус строк 8
|
windowKeydownHandler: function(e) { if (e.which === 27) { ad.toggleCityselect(null, 'hide'); $(window).unbind('keydown', this.windowKeydownHandler); } } }; №50 $(document).ready(function() { ad.init(); }); Это совсем в конце получается. |
Часовой пояс GMT +3, время: 07:33. |