Fix #11649. Preserve oldIE submit flag when cloning, closes gh-772.

This commit is contained in:
Jason Moon
2012-05-18 16:30:28 -04:00
committed by Dave Methvin
parent 6bf3f20d4e
commit e93f2a89e2
3 changed files with 37 additions and 3 deletions

View File

@@ -1062,6 +1062,41 @@ test("trigger(type, [data], [fn])", function() {
form.remove();
});
test( "submit event bubbles on copied forms (#11649)", function(){
expect( 3 );
var $formByClone, $formByHTML,
$testForm = jQuery("#testForm"),
$fixture = jQuery("#qunit-fixture"),
$wrapperDiv = jQuery("<div/>").appendTo( $fixture );
function noSubmit( e ) {
e.preventDefault();
}
function delegatedSubmit() {
ok( true, "Make sure submit event bubbles up." );
return false;
}
// Attach a delegated submit handler to the parent element
$fixture.on( "submit", "form", delegatedSubmit );
// Trigger form submission to introduce the _submit_attached property
$testForm.on( "submit", noSubmit ).find("input[name=sub1]").click();
// Copy the form via .clone() and .html()
$formByClone = $testForm.clone( true, true ).removeAttr("id");
$formByHTML = jQuery( $fixture.html() ).filter("#testForm").removeAttr("id");
$wrapperDiv.append( $formByClone, $formByHTML );
// Check submit bubbling on the copied forms
$wrapperDiv.find("form").on( "submit", noSubmit ).find("input[name=sub1]").click();
// Clean up
$wrapperDiv.remove();
$fixture.off( "submit", "form", delegatedSubmit );
});
test("trigger(eventObject, [data], [fn])", function() {
expect(28);