Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.10.2011, 18:29
Аспирант
Отправить личное сообщение для trololo Посмотреть профиль Найти все сообщения от trololo
 
Регистрация: 07.04.2011
Сообщений: 46

и всё таки, на счёт кроссбраузерности..
иногда меня очень расстраивает то что код, который писался под оперу, внезапно оказывается что он не работает в firefox и ему подобным.

if(document.getElementsByTagName('form').length>0)
        {
            if(document.getElementsByTagName('form')[0].body!==undefined) 
            {
                document.getElementById('someId').setAttribute('onclick','someAction()');
            }
        }

к примеру тут из DOM нужно получить textarea первой попавшейся формы. если на форме и есть textarea, то name у неё точно должен быть body. в опере это работает. в firefox не работает и даже нет никаких ошибок (что особенно бесит)
if(document.getElementsByTagName('form')[0].body)
работает только если скрипт ниже всего html дерева. у меня же userscript который вызывается по window.onload . по сути это не должно влиять.. или что? укажите путь истинный..
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2011, 19:21
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

form.elements.body
__________________
.ня
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2011, 01:51
Аспирант
Отправить личное сообщение для trololo Посмотреть профиль Найти все сообщения от trololo
 
Регистрация: 07.04.2011
Сообщений: 46

спасибо. палюсь конечно тем что теорией не подкован видимо... но вот ещё вопрос:
не знаю правильный ли подход, всего второй userjs пишу, есть некий объект (или хз как это в js правильно называется, уж простите)
var ob={
ctor:function()
{
//some start actions
},
someAction:function(param p)
{
//some action
},
anotherAction:function()
{
//here is must be code from first message...
document.getElementById('someId').setAttribute('onclick','ob.someAction(1)');
},
/*few methods and vars
....
*/
}

window.load=ob.ctor();

тоесть вешаем некую функцию из этого же "объекта" на нужный элемент. в опере такое прокатывает. в ff firebug говорит "ob is not defined
onclick()"

ида, опера 11.00 ff 7.0.1
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2011, 02:33
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

element.onclick= ob.someAction
__________________
.ня
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2011, 02:53
Аспирант
Отправить личное сообщение для trololo Посмотреть профиль Найти все сообщения от trololo
 
Регистрация: 07.04.2011
Сообщений: 46

немного не поняли вопрос. сам onclick создаётся правильно, но вот по вызову этого onclick из под элемента (onclick="ob.someAction(1)") firebug говорит что ob не объявлен. "is not defined" в общем. хотя снова в опере всё работает нормально..
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2011, 14:18
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

если указывать обработчик из неймспейса (объекта), то this в обработчике будет указывать не на неймспейс, как задумывалось, а на элемент.

check your code.
Ответить с цитированием
  #7 (permalink)  
Старый 16.10.2011, 20:23
Аспирант
Отправить личное сообщение для trololo Посмотреть профиль Найти все сообщения от trololo
 
Регистрация: 07.04.2011
Сообщений: 46

объясни пожалуйста подробней для тех кто в танке..
Ответить с цитированием
  #8 (permalink)  
Старый 17.10.2011, 20:28
Аспирант
Отправить личное сообщение для trololo Посмотреть профиль Найти все сообщения от trololo
 
Регистрация: 07.04.2011
Сообщений: 46

укажите же что я делаю не так.

Последний раз редактировалось trololo, 17.10.2011 в 23:56.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить загружены ли все картинки браузером Aderba jQuery 13 29.05.2014 14:18
не могу открыжить все чекбоксы нажатием одного nenastiy Events/DOM/Window 11 23.05.2010 17:50
Получить все инпуты по заданоой маске nws Общие вопросы Javascript 2 09.09.2009 01:46
А где все пишем Анастасия Лондонова Internet Explorer 3 06.04.2009 06:00
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37