Странное поведение 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 просто теряется. Впервые сталкиваюсь с такой проблемой, подскажите пожалуйста в какую сторону копать. |
Передавайте объект через аргумент ф-ции:
function myfunction(a) { alert(a); } myfunction(this); В предпоследнем коде this равен window, так же как и в последнем, просто ф-ция $() делает jQuery-объектом всё, что в неё передали, и поэтому выдаёт [object Object]. Нетрудно догадаться, что во втором коде вы пытаетесь забрать title у window. |
Через передачу объекта в качестве аргумента функции все заработало, но может подскажете в чем причина такого поведения у скриптов?
Раньше все делал точно так же, но таких проблем не было. |
Я же всё объяснил в пред. посте…
|
Часовой пояс GMT +3, время: 04:33. |