mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Fix for #1486. Prevent IE from throwing an error when triggering focus on hidden input.
This commit is contained in:
parent
ffbedf0262
commit
91f1299f68
@ -193,7 +193,10 @@ jQuery.event = {
|
||||
// Trigger the native events (except for clicks on links)
|
||||
if ( fn && donative !== false && val !== false && !(jQuery.nodeName(element, 'a') && type == "click") ) {
|
||||
this.triggered = true;
|
||||
element[ type ]();
|
||||
try {
|
||||
element[ type ]();
|
||||
// prevent IE from throwing an error for some hidden elements
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
this.triggered = false;
|
||||
|
@ -121,7 +121,7 @@ test("unbind(event)", function() {
|
||||
});
|
||||
|
||||
test("trigger(event, [data], [fn])", function() {
|
||||
expect(66);
|
||||
expect(67);
|
||||
|
||||
var handler = function(event, a, b, c) {
|
||||
equals( event.type, "click", "check passed data" );
|
||||
@ -194,6 +194,16 @@ test("trigger(event, [data], [fn])", function() {
|
||||
// Triggers 9
|
||||
equals( $("#firstp").triggerHandler("click", [eventObj, 1, "2", "abc"], handler), "test", "Verify handler response" );
|
||||
|
||||
var pass = true;
|
||||
try {
|
||||
$('input:first')
|
||||
.hide()
|
||||
.trigger('focus');
|
||||
} catch(e) {
|
||||
pass = false;
|
||||
}
|
||||
ok( pass, "Trigger focus on hidden element" );
|
||||
|
||||
// have the extra handler override the return
|
||||
// Triggers 9
|
||||
equals( $("#firstp").triggerHandler("click", [1, "2", "abc"], handler3), "newVal", "Verify triggerHandler return is overwritten by extra function" );
|
||||
|
Loading…
Reference in New Issue
Block a user