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, время: 12:03. |