Javascript 在替换后维护jqueryonchange

Javascript 在替换后维护jqueryonchange,javascript,jquery,Javascript,Jquery,我有一些代码可以抓取页面上的第一个select并对其进行克隆,以便以后需要时可以重置它 mySelect = jQuery('select').get(0); origSelect = jQuery(mySelect).clone(); jQuery(mySelect).change(function(){ //some code } 当我触发代码以重置选择时: jQuery(mySelect).replaceWith(origSelect); onChange函数停止工作。我确定这

我有一些代码可以抓取页面上的第一个select并对其进行克隆,以便以后需要时可以重置它

mySelect = jQuery('select').get(0);
origSelect = jQuery(mySelect).clone();

jQuery(mySelect).change(function(){
   //some code
}
当我触发代码以重置选择时:

jQuery(mySelect).replaceWith(origSelect);

onChange函数停止工作。我确定这是因为它现在被称为origSelect,并对该名称的onChanges作出响应。我在这里是否有任何选项可以将mySelect的内容替换为origSelect的内容,而不更改它所引用的名称?

使用
$(mySelect).live('change',…)
而不是
$(mySelect)。change(…)
将参数true传递给该方法

或者将origSelect的innerHTMl替换为mySelect的innerHTMl

jQuery(origSelect).html(jQuery(mySelect).html()); 

很好,我不知道你可以用
.clone(true)
就可以做到这一点+1.
jQuery(origSelect).html(jQuery(mySelect).html());