2012-07-04 92 views
0

嗨即時通訊新的JavaScript和搞亂它。 我如何(如果可能的話)顯示一個輸出,當2個按鈕被一個接一個按下時?如何連續按下2個按鈕時輸出消息

實施例:點擊按鈕1,單擊按鈕2,消息顯示 「按鈕1和2已被點擊」

+0

做一個變量,即'clicked'加1,當您單擊按鈕。如果點擊檢查「clicked」爲「2」,則顯示消息並重置爲「0」。 – elclanrs

回答

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> 
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' /> 

jsFiddle

+0

嗨小孩感謝您的幫助,這是我以後。一件事情。在消息按下確定按鈕後,我將如何重置整個情況。此時您按兩個按鈕並出現消息,則只需按一個按鈕即可重新獲取消息。謝謝大衛 – user1500702

+0

加'button1 = false; 'check'函數的'if'塊中的button2 = false'。我更新了jsFiddle。 – Polyov

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); 
+0

哦,我誤解了這個問題是關於鼠標左鍵和右鍵的。哎呀。 – 2012-07-04 07:21:50

相關問題