1

当我单击它执行一个功能的按钮时,我现在尝试将其命名为:“”,在按下按钮时输入。

我在标签内添加了 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.targetthis.

<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 回答
0

我不确定我是否理解你的问题,但是:

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

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

这有帮助吗?

于 2015-03-17T22:03:15.363 回答