1

ボタンをクリックすると機能が実行されるので、ボタンを押すと name: "" が入力されるようにしようとしています。

タグ内に name="item1" を追加しましたが、目的の結果が得られません。

<img onclick="addbeat()" name="item1" src="button.png"/>

<script>
function addbeat() {
simpleCart.add({
     name: "",
     price: .99
 });
}
</script>

4

3 に答える 3

3

thisイベントを使用しているので、キーワードを使用できます。

simpleCart.add({
     name: this.name,
     price: .99
});

また、インライン イベントを遠ざけることを強くお勧めします。乱雑で、読み取り不能なコードにつながります。イベントハンドラを使おう!

var x = document.getElementById("imgTag"); //add id to HTML element
x.addEventListener("click", addbeat, false);
于 2015-03-17T21:59:57.697 に答える
1

明確にするために更新する

ここには 2 つのオプションがあります。インライン イベント ハンドラーを使用する場合は、次のように、イベント オブジェクトをクリック ハンドラーに渡し、 を使用してクリックされた画像にアクセスできますevent.target

<img onclick="addbeat(event)" name="item1" src="button.png"/>

<script>
function addbeat(event) {
simpleCart.add({
     name: event.target.name,
     price: .99
 });
}
</script>

望ましいオプション (周囲の議論で指摘されているように) は、プログラムでクリック ハンドラーをアタッチすることです。その時点で、event.targetまたはを使用できますthis

<img id="anImage" onclick="addbeat(event)" name="item1" src="button.png"/>

<script>
function addbeat() {
simpleCart.add({
     name: this.name,
     price: .99
 });
}

document.getElementById('anImage').onclick = addbeat;
</script>
于 2015-03-17T21:58:17.660 に答える