jqueryで単純なユーザークリックアクションレコーダーを作成しようとしていますが、問題が発生しています。ユーザーに記録ボタンをクリックしてもらい、一度クリックすると、クリックした内容を記録します。次に、停止ボタンを押して記録を停止します。私がこれまでに持っているのは:
var stack = new Array();
var recordmode = false;
$('#record').click(function(){
recordmode = true;
alert('You are now in record mode');
});
$('#stop').click(function(){
recordmode = false;
console.log(stack);//output what's in the array
stack = []; //erase the array
});
$('#note_markers').click(function(){
if(recordmode){
$('.one_0').click( function(){ stack.push('one_0'); })
$('.one_1').click( function(){ stack.push('one_1') ; })
}
});
その後、開始ボタンと停止ボタン。
<a id='record'>R</a>
<a id='stop'>stop</a>
<div id="one_notes">
<a class="one_0"></a>
<a class="one_1"></a>
<a class="one_2"></a>
<a class="one_3"></a>
</div>
また、配列を停止して消去する前に、配列に記録されているものを使用して/ one_0 / one_1/one_0などの形式のURLを作成したいと思います。(まだその部分に到達していませんが)
最初のクリックは記録されず、その後、同じ要素を2つ入力し始めます。なぜ現在の動作を取得しているのか理解できません。
何か案は?
補足として、クリックされた要素の名前を取得する方法はありますか?