簡體   English   中英

只點擊一次區域

[英]Click area only once

我有一堆地圖區域,每次點擊它們都會增加一個值。 我需要它們只能點擊一次。 我看過這里的一些帖子,但我嘗試過的一切都不起作用。 我最近的努力是下面的這個。 請僅使用 javascript 提供幫助。

    <map name="m__r30_c11" id="m__r30_c11">
<area shape="poly" coords="12,-5,-19,-25,-32,-19,-48,-4,-55,24,-34,46,-13,53,13,35,19,6" alt="" onclick="MM_nbGroup('down','navbar27','n_r29_c6','images/_r29_c6_s4.jpg','n_r29_c11','images/_r29_c11_s4.jpg','n_r30_c11','images/_r30_c11_s4.jpg',1); incrementValue(); this.disabled=true;">
</map>

如果可能的話,我需要一些可以在 onclick 中工作的東西,因為它們不是所有的地圖區域

否則,我可以以某種方式在 incrementValue 函數中禁用該區域的 onclick 嗎? 我試過了,但無法解決。

    function incrementValue()
{
var value = parseInt(document.getElementById('score').value);
value = isNaN(value) ? 0 : value;
value++;
document.getElementById('score').value = value;
}

試試this.onclick=''; 而不是this.disabled=true; 根據需要刪除 onclick,沒有 onclick 沒有響應點擊。

假設您想保留內聯 onclick 語法,您可以使用以下內容在第一次點擊后將您的onclick設置為 null,以便后續點擊不再觸發任何內容:

onclick="incrementValue(); this.onclick=null;"

在您的代碼中,它看起來像這樣:

<map name="m__r30_c11" id="m__r30_c11">
<area shape="poly" coords="12,-5,-19,-25,-32,-19,-48,-4,-55,24,-34,46,-13,53,13,35,19,6" alt="" onclick="MM_nbGroup('down','navbar27','n_r29_c6','images/_r29_c6_s4.jpg','n_r29_c11','images/_r29_c11_s4.jpg','n_r30_c11','images/_r30_c11_s4.jpg',1); incrementValue(); this.onclick=null;">
</map>

這是應用於標准 HTML 按鈕的此方法的現場演示

 function incrementValue() { /* Your other code here */ alert("this only happens once"); }
 <button id="thebutton" onclick="incrementValue(); this.onclick=null;">Click</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM