The new version works for me, as does the second one you posted.
The code around lines 10-14 is overly-complicated and should be cleaned-up. You certainly don't need to use that ugly attribute selector! Use variables! You are for some reason avoiding the use of variables, which, in general, will adversely affect both performance and maintainability. (e.g. it is error-prone).)
$('tasks-form').submit(function() {
var $task = $('.task');
var val = $task.val();
if (val.length) {
var newItem = "<li data-id='task-" + i + "'>" + val + "</li>";
$(newItem).prependTo($task).css('display','none').slideDown();
$task.val('');
i++;
}
return false;
});
Another improvement you could make is not to use .slideDown, which, like all jQuery animation functions, is pretty inefficient, and can be jerky on mobile devices. It's better just to apply a class, and then write the CSS for a CSS animation using a transform. jQuery animations are old, moldy brute-force animations that use Javascript timer callbacks.
But none of this addresses your real problem, which I can neither demonstrate (I don't have BB10, and it works find on Safari desktop) nor view (I can't play your video - it is blank.)
You stated at the outset that you are using the JQM BB10 theme. (A third-party theme, from RIM.) Did you try it without this theme? Are you running this on BB10?
If you think you have an issue where JQM mis-performs on BB10, then you can add an issue on the JQM gitHub project, and add to the growing list of BB10 complaints. I haven't seen anyone have much luck here with JQM on BB10 I'm afraid.
If you do that, though, you will have to be able to identify just what issue there is that is specifically a JQM problem. (If there is a JQM problem at all.) So, you will have to be able to demonstrate the problem, and remove everything except that which demonstrates the problem.
If there actually is some localStorage problem on BB10, it's unlikely that jQuery Mobile has anything to do with it, as JQM doesn't use localStorage or get involved with it at all.