嗨即時通訊新的JavaScript和搞亂它。 我如何(如果可能的話)顯示一個輸出,當2個按鈕被一個接一個按下時?如何連續按下2個按鈕時輸出消息
實施例:點擊按鈕1,單擊按鈕2,消息顯示 「按鈕1和2已被點擊」
嗨即時通訊新的JavaScript和搞亂它。 我如何(如果可能的話)顯示一個輸出,當2個按鈕被一個接一個按下時?如何連續按下2個按鈕時輸出消息
實施例:點擊按鈕1,單擊按鈕2,消息顯示 「按鈕1和2已被點擊」
<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>
在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' />
嗨小孩感謝您的幫助,這是我以後。一件事情。在消息按下確定按鈕後,我將如何重置整個情況。此時您按兩個按鈕並出現消息,則只需按一個按鈕即可重新獲取消息。謝謝大衛 – user1500702
加'button1 = false; 'check'函數的'if'塊中的button2 = false'。我更新了jsFiddle。 – Polyov
其實我只寫了專門的鼠標對象庫。它有一件事是跟蹤按下哪些按鈕,並遵循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);
哦,我誤解了這個問題是關於鼠標左鍵和右鍵的。哎呀。 – 2012-07-04 07:21:50
做一個變量,即'clicked'加1,當您單擊按鈕。如果點擊檢查「clicked」爲「2」,則顯示消息並重置爲「0」。 – elclanrs