2011-03-08 113 views
2
<img src="images/get_info.png" onclick="do_ajax('get.php?id=5');this.src='images/get_info_disabled.png';" style="cursor:pointer;border:0;"> 

我有這樣的圖像列表,當用戶點擊它時,會產生一個AJAX請求並且圖像將被更改,但是如何才能讓圖像僅可點擊一次?點擊後禁用元素?

+0

您希望它可以單擊*僅*一次,或者您想防止雙擊(但允許後續單擊)? – 2011-03-08 02:52:10

+0

你可以使用jQuery嗎?這樣很容易。 – jonwayne 2011-03-08 02:54:19

+0

我希望它只能點擊一次:)對不起,我的易混淆的寫作 – Teiv 2011-03-08 02:54:30

回答

5

更改do_ajax功能,所以它看起來像這樣:

function do_ajax(url, elem) { 
    var click = elem.onclick; 
    elem.onclick = null; 
    // Do your Ajax stuff 
    elem.onclick = click; 
} 

,然後調用它像:

<img src="images/get_info.png" onclick="do_ajax('get.php?id=5', this); this.src='images/get_info_disabled.png';" style="cursor:pointer;border:0;"> 
+0

唉,非常感謝您的幫助。它現在很好用:) – Teiv 2011-03-08 03:40:55

0

要允許被點擊一次的元素,我能想到的最簡單的方法的是:

<img src="path/to/image.png" onclick="alert('you clicked the image'); this.removeAttribute('onclick');" /> 

JS Fiddle demo的概念。

雖然我親自將this.removeAttribute('onclick');添加到您的函數中。

0

< p ID = 「ID」>
可以通過retreiving在Javascript元素爲此,
</P>
VAR H = documentgetbyid( 「ID」)。的style.display =」沒有」;