equals(el.attr('aria-expanded'), 'false', 'aria expanded is false');
});
+test('focus', function() {
+ expect(3);
+
+ var el = $('#inputTabindex0'),
+ // used to remove focus from the main element
+ other = $('#inputTabindex10');
+
+ // test original functionality
+ el.focus(function() {
+ ok(true, 'event triggered');
+ });
+ el.focus();
+ other.focus();
+
+ // trigger event handler + callback
+ stop();
+ el.focus(500, function() {
+ start();
+ ok(true, 'callback triggered');
+ });
+ other.focus();
+});
+
})(jQuery);
//jQuery plugins
$.fn.extend({
+ _focus: $.fn.focus,
+ focus: function(delay, fn) {
+ return typeof delay === 'number'
+ ? this.each(function() {
+ var elem = this;
+ setTimeout(function() {
+ $(elem).focus();
+ (fn && fn.call(elem));
+ }, delay);
+ })
+ : this._focus.apply(this, arguments);
+ },
+
remove: function() {
// Safari has a native remove event which actually removes DOM elements,
// so we have to use triggerHandler instead of trigger (#3037).