以下のコードは div を取り、クリックすると移動します。戻るボタンは、div を以前の場所に戻します。2 番目のアラートは、場合によっては複数回トリガーされます。誰かが理由を説明できますか?
<html>
<head>
<script src="js/jquery.js"></script>
<style>
.profile {
width: 250px;
height: 250px;
margin-top: 250px;
margin-left: 250px;
border: solid black 1px;
}
</style>
</head>
<body>
<script>
$(document).ready(function(){
$('.profile').click(function(){
// store current position
var activeProfile = $(this);
var profilePosition = activeProfile.offset();
var initialLeft = profilePosition.left;
var initialTop = profilePosition.top;
alert(initialLeft);
$(this).css({'position' : 'absolute', 'top' : 0, 'left' : 0, 'margin': 0});
// return to original start position
$('#close').click(function(e) {
alert('sometimes i get triggered multiple times!');
activeProfile.css({'left' : initialLeft, 'top' : initialTop});
e.stopPropagation();
});
});
})
</script>
<div class="profile">
<button id="close">Return</button>
</div>
</body>
</html>