你好我刚接触javascript并搞乱它。 当一个接一个地按下2个按钮时,我怎么能(如果可能的话)显示输出?
示例:单击按钮1,单击按钮2,消息显示“已单击按钮1和2”
答案 0 :(得分:1)
在&&
语句中使用if
运算符。
使用Javascript:
var button1 = false;
var button2 = false;
var b1_id = document.getElementById('button1');
var b2_id = document.getElementById('button2');
b1_id.addEventListener('click',click1,false);
function click1() {
alert("Button1 clicked");
button1 = true;
check();
}
b2_id.addEventListener('click',click2,false);
function click2() {
alert("Button2 clicked");
if (button1 !== false) button2 = true; //this is to make sure they are clicked consecutivley
check();
}
function check() {
if (button1 === true && button2 === true) {
alert("Button1 and Button2 clicked consecutively");
}
}
HTML:
<input type='button' id='button1' value='button1' />
<input type='button' id='button2' value='button2' />
答案 1 :(得分:0)
<p id="status"></p>
<button id="btn1" onclick="clickfun(this);">button 1</button>
<button id="btn2" onclick="clickfun(this);">button 2</button>
<script>
clickfun(elm){
var currenthtml = document.getElementById('status').innerHTML;
document.getElementById('status').innerHTML = currenthtml += this.id+' clicked !';
}
</script>
答案 2 :(得分:0)
我实际上只是写了一个专门用于鼠标对象的库。有一件事它跟踪按下什么按钮,并且主要遵循DOM3规范。
https://github.com/Benvie/Mouse
归结为最低限度,如果浏览器没有提供“按钮”属性,那么你必须不断跟踪目前的情况,这只是Firefox 15到目前为止所做的。特别是,mousedown开始,然后点击和contextmenu结束。
跟踪按钮的关键位是
var buttons = 0;
function down(e){ buttons |= 1 << e.button; }
function up(e){ buttons &= ~(1 << e.button); }
window.addEventListener('click', up);
window.addEventListener('contextmenu', up);
window.addEventListener('mousedown', down);