Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.12.2010, 19:37
Новичок на форуме
Отправить личное сообщение для Ziki Посмотреть профиль Найти все сообщения от Ziki
 
Регистрация: 02.12.2010
Сообщений: 3

Странное поведение jquery
Здравствуйте!
Приключилась странная проблема, не работает объект this.
В частности если взять элементарный пример:
<div onClick="myfunction()" title="bla-bla">Моя функция</div>

и создать функцию вида:
function myfunction(){
    alert($(this).attr('title'))
}


то в ответ не получаю ничего, не ошибки, не алерта.

если взять функцию:
function myfunction(){
    alert($(this))
}


Получаю [object Object]

если:
function myfunction(){
    alert(this)
}


получу [object Window]

Такое впечатление что объект this просто теряется.
Впервые сталкиваюсь с такой проблемой, подскажите пожалуйста в какую сторону копать.
Ответить с цитированием
  #2 (permalink)  
Старый 02.12.2010, 19:44
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Передавайте объект через аргумент ф-ции:

function myfunction(a) {
alert(a);
}


myfunction(this);


В предпоследнем коде this равен window, так же как и в последнем, просто ф-ция $() делает jQuery-объектом всё, что в неё передали, и поэтому выдаёт [object Object]. Нетрудно догадаться, что во втором коде вы пытаетесь забрать title у window.

Последний раз редактировалось exec, 02.12.2010 в 19:48.
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2010, 20:25
Новичок на форуме
Отправить личное сообщение для Ziki Посмотреть профиль Найти все сообщения от Ziki
 
Регистрация: 02.12.2010
Сообщений: 3

Через передачу объекта в качестве аргумента функции все заработало, но может подскажете в чем причина такого поведения у скриптов?
Раньше все делал точно так же, но таких проблем не было.
Ответить с цитированием
  #4 (permalink)  
Старый 02.12.2010, 21:09
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Я же всё объяснил в пред. посте…
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странное поведение Dojo. Kuzya59 Dojo toolkit 4 15.10.2011 15:42
jquery 1.4.2 + jquery.form: разное поведение ajaxSubmit в разных браузерах dmitry87 jQuery 3 30.10.2010 02:01
странное поведение innerhtml alexsum Общие вопросы Javascript 6 24.09.2010 16:17
Странное поведение replace cooli0 Общие вопросы Javascript 4 25.01.2010 17:16
Странное поведение браузеров Dicot Общие вопросы Javascript 27 26.04.2009 20:04