当我单击它执行一个功能的按钮时,我现在尝试将其命名为:“”,在按下按钮时输入。
我在标签内添加了 name="item1" ,但这并没有产生预期的结果。
<img onclick="addbeat()" name="item1" src="button.png"/>
<script>
function addbeat() {
simpleCart.add({
name: "",
price: .99
});
}
</script>
当我单击它执行一个功能的按钮时,我现在尝试将其命名为:“”,在按下按钮时输入。
我在标签内添加了 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.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>
我不确定我是否理解你的问题,但是:
<img onclick="addbeat(this.name)" name="item1" src="button.png"/>
<script>
function addBeat(name)
{
simpleCart.add({
name: name,
price: .99
});
}
</script>
这有帮助吗?