Javascript.RU

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

Проблема с прототипами обьектов в IE
Всем привет! Возникла проблема с JS во всеми любимом эксплорере.

Добавляю через прототип функции к обьекту Object таким образом:
Object.prototype.some_func = function() {
    alert('it works!')
}


Теперь эта ф-я some_func по должна появиться во всех объектах.

Для удобства работы, некоторые ф-и помещаю в общий обьект:
var test_obj = {
    func1:function(){},
    ...
    funcN:function(){
         this.target_obj = document.getElementById('some_id')
         alert( typeof( this.target_obj.some_func  ) )
         // выводит "function"
    }
}

так вот test_obj.funcN() и выводит function. В FF, в Chrome, в Opera. Но не в IE. в IE у target_obj почему-то нет ф-и some_func.

В чем косяк то может быть!?
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2009, 13:31
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

В IE DOM-элементы не являются потомками Object.
Ответить с цитированием
  #3 (permalink)  
Старый 14.10.2009, 13:52
Новичок на форуме
Отправить личное сообщение для Johnny Посмотреть профиль Найти все сообщения от Johnny
 
Регистрация: 14.10.2009
Сообщений: 5

Вот блин... Ларчег то просто открывался.
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2009, 13:54
Новичок на форуме
Отправить личное сообщение для Johnny Посмотреть профиль Найти все сообщения от Johnny
 
Регистрация: 14.10.2009
Сообщений: 5

но... при этом в IE alert(typeof(document.getElementById('some_id'))) выдает 'object'
Ответить с цитированием
  #5 (permalink)  
Старый 14.10.2009, 13:55
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

У него и alert(typeof alert) выдает object
Ответить с цитированием
  #6 (permalink)  
Старый 14.10.2009, 14:07
Новичок на форуме
Отправить личное сообщение для Johnny Посмотреть профиль Найти все сообщения от Johnny
 
Регистрация: 14.10.2009
Сообщений: 5

Понятно! Буду искать другие пути.
Ответить с цитированием
  #7 (permalink)  
Старый 14.10.2009, 14:22
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Приемлемого способа добавления метода всем DOM-нодам в ИЕ нет.
Ответить с цитированием
  #8 (permalink)  
Старый 14.10.2009, 15:36
Новичок на форуме
Отправить личное сообщение для Johnny Посмотреть профиль Найти все сообщения от Johnny
 
Регистрация: 14.10.2009
Сообщений: 5

Ну можно через какую нить промежуточную функцию реализовать.
(как это сделано в фреймворках) и совместить заодно с умным селектором(типа Sizzle).
В общем, с чего начали к тому и вернулись. Я просто пытаюсь уйти от фреймворков, и ограничиваться небольшим кол-вом самописных функций...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47
проблема с обработкой DIV nerik AJAX и COMET 2 22.08.2008 17:40
проблема с передачей русского текста в Prototype subaru Prototype & script.aculo.us 2 26.07.2007 16:56