onclick="" против $('div').click(function(){})
http://js.do/code/56492
В примере два блока. На блок A "навешиваю" событие после загрузки документа с помощью JQuery: $(document).ready(function(){ $('#a').click(function(){ alert($(this).text()); }); }); <div id="a">Блок A</div> А на блок B "навешиваю" событие по старинке: function click1(){ alert($(this).text()); }; <div id="b" onclick="click1()">Блок B</div> Подскажите пожалуйста. Почему для блока А все работает (alert показывает текст "Блок А"), а для блока В не работает (alert показывает пустой текст, а должен показать текст "Блок В"). |
Цитата:
|
Как намек...
<!DOCTYPE html> <html> <head> <script src='http://code.jquery.com/jquery-latest.js'></script> <!-- <script src="https://code.angularjs.org/1.3.9/angular.min.js"></script> <script src="https://code.angularjs.org/1.3.9/angular-route.js"></script> <link rel='stylesheet type=text/css href=tmp.css' /> --> <style type='text/css'> #a, #b { position: absolute; /* абсолютное позиционирование */ width: 100px; /* ширина */ height: 100px; /* высота */ } #a { background-color: red; top: 100px; } #b { background-color: green; top: 250px; } </style> <script type='text/javascript'> $(function(){ $('#a').click(function(){ alert($(this).text()); }); }); function click1(Obj){ alert($(Obj).text()); }; </script> </head> <body> <div id="a">Блок A</div> <div id="b" onclick="click1(this)">Блок B</div> </body> </html> |
Спасибо, а можно какой-н популярный комментарий чтобы принцип понять? Почему вроде бы одно и тоже действие требует разной реализации?
|
Цитата:
Это результат у этих действий должен быть одинаков. Цитата:
http://javascript.ru/tutorial/object/thiskeyword |
Спасибо.
|
Часовой пояс GMT +3, время: 13:21. |