处理Javascript函数

处理Javascript函数,javascript,Javascript,我有一个JavaScript函数,用于复制HTML页面中的数据。 在同一HTML中单击一个按钮后,将调用一个函数。直到现在一切都好了。但当我再次点击同一个按钮时,同样的东西被复制了两次。这不应该发生。我只想复制一次内容 <script language="JavaScript"> var x=1; function h1b_cnslr() { if (x===1){ x=2 some code }

我有一个JavaScript函数,用于复制HTML页面中的数据。 在同一HTML中单击一个按钮后,将调用一个函数。直到现在一切都好了。但当我再次点击同一个按钮时,同样的东西被复制了两次。这不应该发生。我只想复制一次内容

<script language="JavaScript">
   var x=1;
   function h1b_cnslr() {
       if (x===1){
          x=2
          some code  
       }
   } 
   function h1b_nocnslr() {
       if (x===1){
          x=2
          some code  }
       }        
   } 
</script> 
<BUTTON id ="btn_h1b_cnslr" class="copy" onClick="h1b_cnslr();" value="Copy" >Copy</BUTTON>  
<BUTTON id ="btn_h1b_nocnslr" class="copy" onClick="h1b_nocnslr();" value="Copy" >Copy</BUTTON>

var x=1;
函数h1b_cnslr(){
如果(x==1){
x=2
一些代码
}
} 
函数h1b_nocnslr(){
如果(x==1){
x=2
一些代码}
}        
} 
复制
复制

我正在使用变量
x
。我使用的逻辑是全局
x=1
,当用户第一次单击
x
时,将分配
2
。对于第二次单击,将检查
x
的值,如果
x===1
,则只会进入循环。但是每次
x
都被指定为
1
,正如我声明的
x
为全局变量一样。他们还有其他方法吗?

使用另一个变量来检查您是否已经复制了内容,否则跳过复制

听起来像是您的按钮导致了回发,每次都会将x重置为1?如果我明白了你想说的话,为什么不在复制内容之前检查innerhtml是否为空呢。(如果只需要一份副本。)