iScroll v3.6 Bug Squashing Edition

I finally took the time to fix some nasty bugs that were infesting iScroll. This has been the most important bugs hunting session since v3.0. Hurry up, take it while is hot.

This bug fix edition includes:

  • Fix: Error in positioning when bounce is set to false.
  • Fix: Error in scrollbar size computation when scrollbar is too small.
  • Fix: Erroneous double clicks in desktop browser compatibility.
  • Fix: onScrollEnd() not always fired.
  • Enhancement: Better checks on DOM changes, iScroll should be able to better handle DOM changes on Ajax calls.
  • Enhancement: Better ‘click’ event handling.
  • Out of beta! Let’s go for 3.7…

As a side note, I just figured out that webkit on Android 2.2 and on latest BlackBerry supports position: fixed natively. No need to use CSS transitions for scrolling, fixed headers and footers free for all. This is a great news as it is (could be) symptomatic of the direction that all mobile webkits will take (Apple, are you listening?).

Go get it!

24 thoughts on “iScroll v3.6 Bug Squashing Edition”

  1. Hey, this is great news! I’ve been having some trouble with scrolling on Android. Thanks a lot for the tip.

  2. Let’s try this a THRID time. The INPUT tags don’t receive focus very well,

    1. Sorry for the off-topic, but did you have problems sending comments? I activated a very aggressive cache yesterday and I’m still testing.

      Regarding the focus problem… I know working with form fields is a mess. I’m trying to find a solution.

      1. Hi, I am having the same problem with INPUTBOX in iscroll, plz let me know if there is any solution.

        Thanks in advance

    2. AARRGGHHH!!!!

      I still have issues with “less-than” and “greater-than” around ANYTHING!!!

      1. USING jquery:
        $.find(“input, select, textarea”).bind(“touchstart”, function(event){
        event.stopPropagation();});

  3. I was wondering if its possible to make the snap work with a slider plugin like anythingslider, for example, and still be possible to use the finger slide and stuff. I tried here and no success. 🙁

    1. Just to make myself clearer: What I have in mind is a carousel, but still being able to use the finger slide with the snap et al.

  4. Hi, is there a way to set the wide of the Carousel example on iPhone / iPod Touch / Android / iPad to 100%?
    Normally the #wrapper is set to width:300px. It works of course with 320px, but you can not turn the iPhone in the landscape mode. It works just by setting it to 480px / 960px, or 800 px for some android and so on…

    Please HELP!

    Thanks,
    Klaus

    1. you can set the carousel to any size based on device screen and orientation. you may try using @media queries or resizing the wrapper with JS.

  5. Hello Mr. Matteo Spinelli,

    thank you for the fast reply – and thank you even more for giving this awesome script to the community.

    At the moment you can set in the #wrapper for example {width:480px; height:160px;} to a specific resolution.

    It would be great to set it to two resolutions. In this Example {width:480px; height:160px;} for the Landscape orientation AND {width:320px; height:260px;} for the portrait-mode. – Inside the wrapper is (in my case) just text.

    How change I the script in a way that turning the iPhone will fire an event to change the #wrapper-size?

    Thank you again for your impressing work,
    Klaus Klose

  6. I really like your proposal to do this in CSS (@media queries) but it works only when the page is loading the first time, not if the iPhone is turned later on.

    Thanks, Klaus

  7. Hello.

    Firstly, thanks for this great script ! My application could not exist without this “treasure”.
    I have two questions / remarks:
    – why didn’t you allow to define the new onScrollEnd method by passing a function into the options object. Is it an “architectural” choice or just an oversight ?
    – i had to patch iScroll to allow touch events bubbling. I need to detect swipes and tap on items included into the iScroll panel. Calls to stopPropagation prevent that. Why not allow events to bubble and let the library “users” manage events ?

    1. why didn’t you allow to define the new onScrollEnd method by passing a function into the options

      This is already in to-do. It’s actually the same but having it in the options is more “educated”, I agree.

      Why not allow events to bubble and let the library “users” manage events ?

      You can’t imagine how many tests I did to make the scroller stable. The current config is the most solid, iScroll is just a base to build your application on, you are of course free to customize it to your needs.

      Now I should try to rebuild everything from scratch, that would certainly remove some weird patterns I have there and I cannot even remember why 🙂

  8. Wow, great work!

    Any chance you might publish an example of how to properly combine the iPad and simple examples?

    What I’m really hoping for is a fixed title bar on top, fixed tab bar on the bottom (like the “simple” example) but with two independently scrolling columns in the middle (like the “iPad” example).

    I do imagine this would be of great interest to many. In any case, I seem unable to do the combining myself without breaking something.

  9. Hi !

    Very great job with all your plug-in.

    I have a problem integrating input box into acordeon into iScroll.

    No problem for the input box into accordeon, but with the iscroll, they don’t be writed anymore.

    Take a look on my website to see what i mean.

    Thanks a lot

Comments are closed.