2016-02-06 20 views
0

我有以下示例代碼,當我點擊頂部按鈕時,它的內容將被複制到底部按鈕,這在Firefox和IE中運行良好,但在Chrome中,它只複製您點擊的字符,而不是整個按鈕的內容,但是如果您點擊上方按鈕的邊緣或4個角落,則整個內容將被複制到底部按鈕,我如何修復Chrome中的行爲以便與其他瀏覽器保持一致?如何修復html按鈕點擊複製內容瀏覽器在jQuery中的不一致?

<HTML> 
    <HEAD><META http-equiv="Content-Type" content="text/html; charset=utf-8"></HEAD> 

    <SCRIPT src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></SCRIPT> 

    <SCRIPT> 
    $(document).ready(function() 
    { 
    $('button').click(function(event) 
    { 
     var Clicked_Button=event.target; 
     $('#Target_Button').html($(Clicked_Button).html()); 
    }); 
    }); 
    </SCRIPT> 

    <BODY> 
    <CENTER> 

    <BUTTON id=Source_Button style="width: 78px; height: 78px;" type=button> 
     <TABLE width=60 border=0 cellspacing=0 cellpadding=5> 
     <TR> 
      <TD align=Center><FONT color=blue size=4>A</FONT></TD> 
      <TD align=Center><FONT color=blue size=4>B</FONT></TD> 
     </TR> 
     <TR> 
      <TD align=Center><FONT color=blue size=4>C</FONT></TD> 
      <TD align=Center><FONT color=blue size=4>D</FONT></TD> 
     </TR> 
     </TABLE> 
    </BUTTON> 
    <P> 
    <BUTTON id=Target_Button style="width: 78px; height: 78px;" type=button></BUTTON> 

    </CENTER> 
    </BODY> 
</HTML> 
+0

你應該使用'VAR Clicked_Button = event.currentTarget;'請詳見這個問題的http://計算器.com/a/10086501/5642735 – alxersov

+0

@aersh:優秀,正確的目標,謝謝,如果你讓這個官方答案,我會選擇它! – Frank

回答

0

感謝@ aersh的建議,正確的答案是:var Clicked_Button = event.currentTarget;

1

在事件處理this是元素事件發生,所以你可以使用$(this).html()

$('button').not('#Target_Button').click(function(event){  
    $('#Target_Button').html($(this).html()); 
}); 
相關問題