0

こんにちは、javascript が初めてで、いじっています。2 つのボタンが次々に押されたときに、(可能であれば) 出力を表示するにはどうすればよいですか?

例: ボタン 1 をクリックし、ボタン 2 をクリックすると、「ボタン 1 と 2 がクリックされました」というメッセージが表示されます。

4

3 に答える 3

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

<a href="http://jsfiddle.net/HYSgy/1/" rel="nofollow">jsFiddle

于 2012-07-04T06:45:25.990 に答える
0

私は実際に、マウス オブジェクト専用のライブラリを作成しました。どのボタンが押されたかを追跡し、DOM3 仕様にほぼ準拠しています。

https://github.com/Benvie/マウス

要するに、ブラウザが「ボタン」プロパティを提供していない場合は、今のところ 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-04T07:08:01.053 に答える
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>
于 2012-07-04T06:35:25.190 に答える