There's either a bug affecting the oncomplete callback function or we need a line of documentation explaining how it's supposed to be used. I went back release by release to test if it used to work the way I expected it to and it worked in versions 1.5.2 and 1.5.1. I didn't go any further back from there.
Here's a condensed version of what I have in my HTML
<div class="slideshow" data-oncomplete="saveStep">...</div>
I'm naming my callback function in the data-oncomplete property of the div tag. The name of my callback function is saveStep, which just stores the index number of the currently viewed slide in a cookie so a user can return to the same slide that was last viewed easily.
The error I keep getting is:
TypeError: 'undefined' is not a function (evaluating 'this.opts.oncomplete.call(this, this.current)') (slideshow.js:147)
Line 147 of version 1.7.0:
this.opts.oncomplete.call(this, this.current);
If I change it the following, it works:
saveStep.call(this, this.current);
So the slideshow appears to be accessing the function that I setup, but it won't access it when it's being referenced from this.opts.oncomplete.
That's odd, so I write this.opts.oncomplete to log and I see that it's being interpreted as a string instead of a function when called this way.
I also tried every version in between 1.7.0 and 1.5.2 and had the same problem on all of them. I didn't test the onupdate callback, but I'm assuming it would have the same issue for me.
BTW, this plugin was perfect for me. Much thanks!