Not that I can see, unfortunately.  The problem isn't with jQuery -
apparently FF just handles file input elements differently (*nudge Mr.
Resig*)   I couldn't even catch capturing/bubbling events :/

Were you able to get firebug working?  Regardless of how this bit of
programming turns out, if you learn to leverage firebug I feel
successful ;)  Good programming requires visibility.

On May 26, 8:00 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
> Thanks for getting back to me.
>
> You're right - FireFox is triggering the focus event when focusing on
> the browse button (although not the label).
>
> Any solution to this? I've tried modifying the code to:
>
> $(function()
> {
>     $("ul.form li")
>     .focus
>     (
>         function()
>         {
>             $(this).addClass('odd');
>         }
>     )
>     .blur
>     (
>         function()
>         {
>             $(this).removeClass('odd');
>         }
>     );
>
> });
>
> But this doesn't work at all.
>
> Thanks for your help.
>
> Daemach wrote:
> > In the interest of teaching a man to fish:
>
> > 1. Install firebug fromwww.getfirebug.com
> > 2. Turn it on by right clicking the small grey icon in the lower right
> > corner - status bar.
> > 3. Download this and include it in your scripts:
> >http://jqueryjs.googlecode.com/svn/trunk/plugins/debug/
> > 4. Switch to the console tab, which is where you will see debugging
> > output and use the jquery code below.
>
> > You can use console.log(any element or selector) (console.log($
> > ('input')) for example) to see exactly what a selector is doing, but
> > debug() makes it easier.  Just insert it anywhere in your chains.
>
> > What you're going to find is that jquery is picking up the file field
> > correctly.  In firefox, though, the focus event does not get triggered
> > until you focus the browse button or click on the label.  The text
> > field doesn't trigger it which I find very odd, but at least now you
> > can see what you're dealing with.
>
> > $(document).ready(function(){
> >    $("ul.form").find(":input").debug()
> >    .focus
> >    (
> >            function()
> >            {
> >                    $(this).parents('li').debug().addClass('odd');
> >            }
> >    )
> >    .blur
> >    (
> >            function()
> >            {
> >                    $(this).parents('li').removeClass('odd');
> >            }
> >    );
> > });
>
> > On May 25, 9:31 pm, fambizzari <[EMAIL PROTECTED]> wrote:
>
> >> Unfortunately, whilst i still don't understand how to use firefbug, i
> >> can say for sure that none of the 3 ideas (i.e. input,
> >> [EMAIL PROTECTED] or .pickme) work when it comes to the type="file"
> >> input.
>
> >> As mentioned before, when i remove type="file" from the input, then
> >> the code works fine and the page validates 100 % as strict xhtml.
>
> >> This is the exact html:
>
> >>         <ul class="form">
> >>                 <li>
> >>                         <label for="title_new">Title</label>
> >>                         <div class="input">
> >>                                 <input name="title_new" id="title_new"/>
> >>                         </div>
> >>                 </li>
> >>                 <li>
> >>                         <label for="message_new">Message</label>
> >>                         <div class="input">
> >>                                 <textarea name="message_new" 
> >> id="message_new"></textarea>
> >>                         </div>
> >>                 </li>
> >>                 <li>
> >>                         <label for="attachment_new">Attachment</label>
> >>                         <div class="input">
> >>                                 <input type="file" name="attachment_new" 
> >> id="attachment_new"/>
> >>                         </div>
> >>                 </li>
> >>         </ul>
>
> >> And this is the exact script:
>
> >> $(function()
> >> {
> >>         $("ul.form").find("input,select,textarea,option")
> >>         .focus
> >>         (
> >>                 function()
> >>                 {
> >>                         $(this).parents('li').addClass('odd');
> >>                 }
> >>         )
> >>         .blur
> >>         (
> >>                 function()
> >>                 {
> >>                         $(this).parents('li').removeClass('odd');
> >>                 }
> >>         );
>
> >> });
>
> >> And i'm using FireFox 2.0.0.3 on a Windows XP....
>
> >> UPDATE: Having typed in the last line regarding my system, i thought
> >> to try this out on other browsers:
>
> >> - IE7 - works perfectly fine
> >> - Opera 9.1 & 9.21 - works perfectly fine
> >> - Netscape - it doesn't work  as described above
> >> - Firefox 2.0.0.3 - it doesn't work as described above
>
> >> Any ideas?

Reply via email to