繁体   English   中英

单击链接时如何设置Javascript“名称”?

[英]How to set Javascript “name” when link is clicked?

当我单击按钮时,它会执行一个功能,现在我试图使其名称为“”,并在按下按钮时输入该名称。

我在标签内添加了name =“ item1”,但这没有产生预期的结果。

 <img onclick="addbeat()" name="item1" src="button.png"/> <script> function addbeat() { simpleCart.add({ name: "", price: .99 }); } </script> 

您正在使用事件,因此可以使用this关键字。

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

另外,我强烈建议您取消内联事件。 它太乱了,导致无法读取的代码。 使用事件处理程序!

var x = document.getElementById("imgTag"); //add id to HTML element
x.addEventListener("click", addbeat, false);

为清楚起见进行更新

您在这里有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>

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

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

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

这有帮助吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM