2013-02-14 176 views
3

我有得到由一個onclick執行的腳本,但是當我使用一個圖像,只有一個按鈕的作品這是行不通的。你可以在http://thomaswd.com/maze看到這個例子。點擊「左」按鈕,然後點擊向下按鈕,他們都工作。但由於某種原因,右箭頭不起作用。請幫忙。謝謝!圖片onclick而不是點擊按鈕?

+0

右按鈕的作品,但它拋出JS錯誤,'遺漏的類型錯誤:未定義不是function' – 2013-02-14 03:21:42

+0

啊......我不知道如何解決它,我打碼機 – 2013-02-14 03:23:20

+0

類型錯誤中間的javascript:右邊是不是一個函數 [打破這個錯誤] \t 右() – Shridhar 2013-02-14 03:24:02

回答

2

變化從「右」的ID別的東西。我不完全知道爲什麼失敗,但顯然在HTML中,因爲「右」是id,它隱藏了right()功能。

在Chrome中的調試器,我改變了id來「r」和按鈕的作品,雖然它是因爲CSS不匹配了:)的巨大

正如其他人所指出的,「向上」和「向下」按鈕工作,這是因爲他們的ID是'頂部'和'底部'。

編輯:

這裏是一個explanation,很奇怪的問題:)

+0

謝謝,這工作! – 2013-02-14 03:56:59

1

我有點困惑,爲什麼rightup確實在相同條件下不工作,但似乎可以得到它通過JavaScript(你應該確實是這樣)結合工作,而不是使用onclick

$("#right").on('click', right); 
+0

不,不工作 – 2013-02-14 03:29:25

+0

@ user2034878嘗試包裝在'$(文件)。就緒(函數(){' – 2013-02-14 03:31:02

2

奇怪,我不明白爲什麼right()不工作,但如果我重新命名功能,不同名稱的工作。

演示:http://jsfiddle.net/5b3Ez/

重命名right()功能不同的名稱,並希望有所幫助現在。

+0

謝謝你,這個工作 – 2013-02-14 03:57:35

0

相反的right(),只需使用window.right()

在這方面,我想:

console.log(this.right===right, this.right===window.right, right===window.right); 

並顯示true false false,但在其它的箭頭的情況下,它是false false true。 Paul Hoenecke指出的解釋指出了這個問題。