簡體   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