重置变量javascript

时间:2013-10-26 17:08:41

标签: javascript

我在点击按钮时尝试设置变量,并在释放按钮时重置它:

    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;
}

非常感谢你!

2 个答案:

答案 0 :(得分:0)

在JavaScript中,click事件是按下和释放鼠标按钮的组合。听起来您希望在点击按钮时收听mousedown事件,并在发布时发现mouseup事件。

答案 1 :(得分:0)

使用jQuery(在vanilla 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);
}