0

ボタンをクリックすると変数を設定し、ボタンを離すと変数をリセットしようとしています:

    var outputEl    = document.getElementById('result');

var click1 = document.getElementById("Button1");
click1.addEventListener('click', function(){
    funarr('1');
});

var click2 = document.getElementById("Button2");
click2.addEventListener('click', function(){
    funarr('2');
});

function funarr(value){
    arrow = value ;
    outputEl.innerHTML  = '<b>Result:</b> ' + arrow;
}

私は試しました:

    function funarr(value){
    arrow = value ;
    outputEl.innerHTML  = '<b>Result:</b> ' + arrow;
    setTimeout(function(){arrow = 0 ;},100);
    outputEl.innerHTML  = '<b>Result:</b> ' + arrow;
}

しかし、それは機能せず、時間の経過後ではなく、ボタンを離したときにのみ変数をリセットする必要があるため、私の問題も解決しません

運が悪い。これどうやってするの?

編集:onmouseupとonmousedownを使用して解決

    var outputEl    = document.getElementById('result');

var click1 = document.getElementById("Button1");
click1.addEventListener('mousedown', function(){
    funarr('1');
});

click1.addEventListener('mouseup', function(){
    funarr('0');
});

function funarr(value){
    arrow = value ;
    outputEl.innerHTML  = '<b>Result:</b> ' + arrow;
}

どうもありがとうございます!

4

2 に答える 2

0

JavaScript では、clickイベントはマウス ボタンを押したり離したりすることの組み合わせです。mousedownボタンをクリックしたときのイベントとボタンを離したときのイベントをリッスンしたいようですmouseup

于 2013-10-26T17:12:25.187 に答える
0

jQueryを使用(バニラjsで書きすぎ;)):

var outputEl = $('#result');

$('#Button1').mousedown(function() { funarr('1') });
$('#Button2').mousedown(function() { funarr('2') })
  .add('#Button1').mouseup(function() { funarr('0') });


function funarr(value){
    arrow = value ;
    outputEl.html('<b>Result:</b> ' + arrow);
}

?

于 2013-10-26T17:12:39.727 に答える