Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > GWT, IE работает, Firefox, Opera, Crome нет


Автор: polosatij 4.10.2008, 01:20
хочу сделать маппинг на img + GWT.. то есть, хочу зацепить onclick listener на картинку и при этом вызвать скрипт..

вот html

Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="pragma" content="no-cache">
        
        <meta name="gwt:property" content="locale=de_DE">

        <link rel="stylesheet" type="text/css" href="css/ext-all.css">
        <link rel="stylesheet" type="text/css" href="css/style.css">

        <!-- The fully-qualified module name, followed by 'nocache.js' -->
        <script language="javascript" src="com.ti.Slideshow.nocache.js" type="text/javascript"></script>
    </head>

    <body>
    
        <div>
            <img src="images/small/111_01.png" id="picture1" style="cursor:pointer;" alt="example description">
        </div>

        <!-- Include a history iframe to enable full GWT history support -->
        <!-- (the id must be exactly as shown)                           -->
        <iframe src="javascript:''" id="__gwt_historyFrame"></iframe>
    </body>
</html>



а так я цепляю listener на элемент..

Код

        // find element
        final Element elem = DOM.getElementById(pId);
        if (ValueChecker.isNull(elem)) {
            throw new NoSuchElementException(pId);
        }

        mImageName = getImgName(elem);

        // listener
        DOM.sinkEvents(elem, Event.ONCLICK);
        DOM.setEventListener(elem, new EventListener() {
            public void onBrowserEvent(final Event pEvent) {
                mSlideWindow.show(mImageName);
            }
        });


скрипт загружается, но почему-то не хочет работать в Firefox, Opera, Crome.. debugger Firefox, Opera молчит.. лишь в Opera можно найти кучу ошибок в CSS..  а в IE, всё прекрасно работает  smile  smile 

может кто мысль какую толкнёт?  smile 


Автор: Samotnik 4.10.2008, 01:24
в коде javascript  debugger; (для firefox)   или  alert()
polosatij, ворьщето этот вопрос для J2EE раздела  smile 

Автор: polosatij 4.10.2008, 01:44
Цитата(Samotnik @  4.10.2008,  01:24 Найти цитируемый пост)
в коде javascript  debugger; (для firefox)   или  alert()
polosatij, ворьщето этот вопрос для J2EE раздела  smile 


а что можно продебугить, если clicklistener не работает в Firefox? узнать бы, почему он не хочет работать  smile  smile 

насколько я понимаю, вот эта строчка не хочет работать:

Код

    DOM.sinkEvents(elem, Event.ONCLICK);


 smile 

Автор: polosatij 4.10.2008, 12:13

http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/af0cae1298f5f151/a94d9311a8beb566?lnk=raot&fwc=1


http://www.gwt-ext.com/forum/viewtopic.php?f=7&t=1414&view=next
http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/7057ef4c0789ceac/a1f4664039751cde?lnk=gst&q=gwt+exporter#a1f4664039751cde

Автор: Samotnik 4.10.2008, 15:13
я в упор не понимаю, как у тебя элемент находиться !
Матри у тебя есть id на картинку 
Код

<img src="images/small/111_01.png" id="picture1" style="cursor:pointer;" alt="example description">

он называется  picture1
А методом getElementBiId()  ты берещ какойто неизвестный pId
Код

final Element elem = DOM.getElementById(pId);

Данный код впринципе не должен работать, ведь у тебя элемент не находится 
нужно вот так писать 
Код

final Element elem = DOM.getElementById("picture1");


Цитата(polosatij @  4.10.2008,  01:44 Найти цитируемый пост)
а что можно продебугить, если clicklistener не работает в Firefox

не правда, такого не может быть  click  во всех броузерах обрабатывается 100 %

Автор: polosatij 4.10.2008, 20:57
Цитата(Samotnik @  4.10.2008,  15:13 Найти цитируемый пост)
final Element elem = DOM.getElementById("picture1");


ты не понял.. "pId" и есть "picture1" (pId -> param)

Цитата(Samotnik @  4.10.2008,  15:13 Найти цитируемый пост)
не правда, такого не может быть  click  во всех броузерах обрабатывается 100 % 


млин.. как это не правда?  smile 
onClick я цепляю через GWT.. в IE работает, в остальных нет!  smile  smile 

Автор: polosatij 4.10.2008, 21:13


в общем, траблу я решил таким образом, сверху положил FocusListener прям на картинку.. работает 100%.. 
листенер на картинку саму вешается (не вешается) и молчит зараза..  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)