Commit e4900df8 authored by Colin Snover's avatar Colin Snover

Clone fragments in domManip using jQuery.clone instead of...

Clone fragments in domManip using jQuery.clone instead of DocumentFragment.cloneNode in order to carry over event data. Fixes #5566, #6997.
parent c8be9461
...@@ -349,7 +349,7 @@ jQuery.fn.extend({ ...@@ -349,7 +349,7 @@ jQuery.fn.extend({
root(this[i], first) : root(this[i], first) :
this[i], this[i],
i > 0 || results.cacheable || this.length > 1 ? i > 0 || results.cacheable || this.length > 1 ?
fragment.cloneNode(true) : jQuery(fragment).clone(true)[0] :
fragment fragment
); );
} }
......
...@@ -381,6 +381,26 @@ test("append(Function) with incoming value", function() { ...@@ -381,6 +381,26 @@ test("append(Function) with incoming value", function() {
QUnit.reset(); QUnit.reset();
}); });
test("append the same fragment with events (Bug #6997, 5566)", function () {
expect(2);
stop(1000);
var element = jQuery("<a class='test6997'></a>").click(function () {
ok(true, "Append second element events work");
});
jQuery("#listWithTabIndex li").append(element)
.find('a.test6997').eq(1).click();
element = jQuery("<li class='test6997'></li>").click(function () {
ok(true, "Before second element events work");
start();
});
jQuery("#listWithTabIndex li").before(element);
jQuery("#listWithTabIndex li.test6997").eq(1).click();
});
test("appendTo(String|Element|Array&lt;Element&gt;|jQuery)", function() { test("appendTo(String|Element|Array&lt;Element&gt;|jQuery)", function() {
expect(16); expect(16);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment