jQuery的clone()方法是用來復制一個DOM元素的。通常情況下,clone()方法只會復制元素本身,而不會復制元素的事件綁定。但是,如果我們在復制元素時使用了clone(true)方法,它就會復制元素及其所有的事件綁定。
下面是一個例子,我們先創建一個div元素,并給它綁定一個click事件:
// 創建div元素const $div = $('點擊我');// 綁定事件$div.on('click', function() {
alert('你點擊了我!');
});
現在,我們使用clone()方法復制一份這個div元素,并把它添加到頁面中:
// 復制元素const $cloneDiv = $div.clone(true);// 把復制的元素添加到頁面中$('body').append($cloneDiv);
現在,我們點擊這個復制的div元素,會發現它也觸發了click事件,說明事件綁定已經成功復制了。
需要注意的是,如果原先的元素有重復的事件綁定,復制后的元素也會有同樣的事件綁定。如果這樣的事件綁定對頁面性能造成了影響,可以在復制元素之前先解綁這些事件。