Bug Tracker

Ticket #1486: 1486.diff

File 1486.diff, 1.4 KB (added by brandon, 14 years ago)

Patch + Tests

  • test/unit/event.js

     
    116116});
    117117
    118118test("trigger(event, [data], [fn])", function() {
    119         expect(40);
     119        expect(41);
    120120
    121121        var handler = function(event, a, b, c) {
    122122                equals( event.type, "click", "check passed data" );
     
    169169        // Trigger only the handlers (no native) and extra fn, with external event obj
    170170        // Triggers 9
    171171        equals( $("#firstp").triggerHandler("click", [eventObj, 1, "2", "abc"], handler), "test", "Verify handler response" );
     172       
     173        var pass = true;
     174        try {
     175                $('input:first')
     176                        .hide()
     177                        .trigger('focus');
     178        } catch(e) {
     179                pass = false;
     180        }
     181        ok( pass, "Trigger focus on hidden element" );
    172182});
    173183
    174184test("toggle(Function, Function)", function() {
  • src/event.js

     
    177177                        // Trigger the native events (except for clicks on links)
    178178                        if ( fn && donative !== false && val !== false && !(jQuery.nodeName(element, 'a') && type == "click") ) {
    179179                                this.triggered = true;
    180                                 element[ type ]();
     180                                try {
     181                                        element[ type ]();
     182                                // prevent IE from throwing an error for some hidden elements
     183                                } catch (e) {}
    181184                        }
    182185
    183186                        this.triggered = false;