I looked into this for a little bit. There is some code in KO ends up calling apply
with an undefined second argument, which causes errors in old IE.
nodesToDelete.push.apply(nodesToDelete, ko.utils.fixUpContinuousNodeArray(mapData.mappedNodes, domNode));
The second argument is undefined, because dragging the elements around has left the DOM in a state that was unexpected. This could be "fixed" in KO by doing an "|| []" or always returning an array from fixUpContinuousNodeArray
. I will do some additional research when I have a chance to make sure I fully understand the issue and will do the KO fix (as it is minor).
For now, I do notice that you will not receive errors if you use the sortable
plugin (https://github.com/rniemeyer/knockout-sortable) and a newer version of jQuery/jQuery UI than the fiddle contained. The plugin has additional functionality and bug fixes for a variety of scenarios.
Here is an updated sample: http://jsfiddle.net/rniemeyer/5eVfF/