我在点击按钮时尝试设置变量,并在释放按钮时重置它:
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;
}
非常感谢你!
答案 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);
}