1

ボタンをクリックして Javascript にステートメントを実行させるための適切な構文は何ですか? 私はグーグル検索を行いましたが、複数の方法があるか、人々がパラメーターや機能をうまく説明していません。

これが私のコードです。私がしたいのは、「ボタン」の「攻撃」をクリックすると、モンスターのHPが10減少することだけです。

 document.getElementById("attack").click(); = dragon.hp = dragon.hp - 10;
4

4 に答える 4

0

これが私がすることです:

<input type="button" value="Attack" onclick="attack()">

そして、あなたの JavaScript がどこにあっても:

function attack() {
    dragon.hp -= 10;
};

実際には、攻撃がさまざまなものをターゲットにできるようにします。

function attack(target) {
    target.hp -= 10;
};

たぶん、ターゲットを選択するためのいくつかのラジオボタン:

<input type="radio" name="monster" value="Dragon">
<input type="radio" name="monster" value="Beholder">
<input type="radio" name="monster" value="Minotaur">

どちらが選択されたかを調べるためのコード:

function discoverSelected(buttonName) {
    var theArray = document.getElementsByName(buttonName);
    for (var i = 0; i < theArray.length; i++) {
        if (theArray[i].checked) {
            return theArray[i].value;
        };
    };
};

その名前をモンスターの配列と比較します。

function whichMonster(monName) {
    for (var i = 0; i < monsters.length; i++) {
        if (monsters[i].name == monName) {
            return monsters[i];
        };
    };
};

そして最後はボタンで攻撃!

<input type="button" value="Attack" onclick="attack(whichMonster(discoverSelected("monster")))">
于 2013-09-19T23:18:08.800 に答える
0

ライブラリへの応答を拡張するだけで、これをjQuery行うことができます(jQueryライブラリを呼び出した後)

$("#attack").on('click', function(){
    dragon.hp -= 10;
});

または、#attackボタンが動的に作成さ れる場合

$(document).on('click', "#attack", function(){
        dragon.hp -= 10;
    });
于 2013-09-19T23:18:18.493 に答える
0

次のようなことをした場合:

            <a ..... onClick="deductHpPoints()">...</a>

次に、JavaScriptで:

            Function deductHpPoints()
            {
              //deduct logic
             }

それはあなたのために働くでしょうか?基本的なもののために。

于 2013-09-19T23:17:49.047 に答える