2017-06-10 41 views
0
<script> 
    function click() 
    { 
     var username = prompt("Enter ur name:"); 
     if(username) 
     { 
      alert("Hi,"+username); 
      document.getElementById("rockPic").src = "rocksmile.jpg"; 
     } 
    } 

</script> 

「點擊」事件沒有觸發使圖像改變它

<img id = "rockPic" 
    align = "center"; 
    src = "rock.jpg"; 
    alt = "irock"; 
    height = 200px; 
    width = 200px; 
    style = "cursor:pointer"; 
    onclick = "click();"> 

</body> 

在這種代碼而圖像必須顯示,然後「提示」框上點擊。但它什麼都不做。請幫忙!

+1

的錯誤,有你檢查你的瀏覽器控制檯?有可能你不能使用'click'作爲函數名。 – NewToJS

+0

嘗試將函數名稱更改爲「click」以外的值 - 它將起作用 –

+0

Yaa,但它不顯示任何錯誤。 –

回答

1

click已經是原生的javascript函數。它模擬鼠標點擊。 https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click

爲您的功能使用不同的名稱。

PS - 您的標記有一堆語法錯誤。刪除;heightwidth不需要單位,只是數字,而align已過時在html5中的img

<script> 
 
    function myFunc() { 
 
    var username = prompt("Enter ur name:"); 
 
    if (username) { 
 
     alert("Hi," + username); 
 
     document.getElementById("rockPic").src = "rocksmile.jpg"; 
 
    } 
 
    } 
 
</script> 
 

 
<img id="rockPic" src="http://kenwheeler.github.io/slick/img/fonz1.png" alt="irock" height="200" width="200" style="cursor:pointer" onclick="myFunc()">

+1

'點擊是JavaScript中的保留字 - - 這聽起來不對,從來沒有在保留字列表中看到 - 該鏈接顯示單元上的點擊方法做的事情,這並不表示它是一個保留字 –

+0

@JaromandaX你可能是對的,我的意思是它已經被保留爲本地函數。更新了我的措辭。 –

+0

因爲它不是保留字,所以它已經在按鈕上定義了。 – PeterMader

0

使用不同的函數名和,實際上是訪問的圖像,它在這裏工作:

function my_function() 
 
    { 
 
     var username = prompt("Enter ur name:"); 
 
     if(username) 
 
     { 
 
      alert("Hi,"+username); 
 
      document.getElementById("rockPic").src = "http://placehold.it/200x200/d95"; 
 
     } 
 
    }
<img id = "rockPic" 
 
    align = "center" 
 
    src = "rock.jpg" 
 
    alt = "irock" 
 
    height = "200px" 
 
    width = "200px" 
 
    style = "cursor:pointer;" 
 
    onclick = "my_function();">

+0

我想建議從'img'屬性末尾刪除分號 – NewToJS

+1

@NewToJS True - 現在刪除... – Johannes

0

每文檔的字符串值「onClick」處理程序屬性被解釋爲處理函數的主體納秒。現在,已經有一個名爲'click'的函數來調用事件處理程序,聲明具有相同名稱的另一個函數基本上會覆蓋本地點擊。

function clickAction() 
 
    { 
 
     var username = prompt("Enter ur name:"); 
 
     if(username) 
 
     { 
 
      alert("Hi,"+username); 
 
      document.getElementById("rockPic").src = "rocksmile.jpg"; 
 
     } 
 
    }
<img id = "rockPic" 
 
    align = "center" 
 
    src = "rock.jpg" 
 
    alt = "irock" 
 
    height = 200px 
 
    width = 200px 
 
    style = "cursor:pointer" 
 
    onclick = "clickAction()"> 
 

+0

我想建議從'img'屬性的末尾刪除分號。人們似乎沒有注意到給出的源代碼。 – NewToJS

+0

@NewToJS好的。 – Yog