ボタンをクリックして Javascript にステートメントを実行させるための適切な構文は何ですか? 私はグーグル検索を行いましたが、複数の方法があるか、人々がパラメーターや機能をうまく説明していません。
これが私のコードです。私がしたいのは、「ボタン」の「攻撃」をクリックすると、モンスターのHPが10減少することだけです。
document.getElementById("attack").click(); = dragon.hp = dragon.hp - 10;
ボタンをクリックして Javascript にステートメントを実行させるための適切な構文は何ですか? 私はグーグル検索を行いましたが、複数の方法があるか、人々がパラメーターや機能をうまく説明していません。
これが私のコードです。私がしたいのは、「ボタン」の「攻撃」をクリックすると、モンスターのHPが10減少することだけです。
document.getElementById("attack").click(); = dragon.hp = dragon.hp - 10;
これが私がすることです:
<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")))">
ライブラリへの応答を拡張するだけで、これをjQuery
行うことができます(jQuery
ライブラリを呼び出した後)
$("#attack").on('click', function(){
dragon.hp -= 10;
});
または、#attack
ボタンが動的に作成さ れる場合
$(document).on('click', "#attack", function(){
dragon.hp -= 10;
});
次のようなことをした場合:
<a ..... onClick="deductHpPoints()">...</a>
次に、JavaScriptで:
Function deductHpPoints()
{
//deduct logic
}
それはあなたのために働くでしょうか?基本的なもののために。