2013-03-27 66 views
2

我有一個非常奇怪的問題,在JavaScript中調用一個簡單的函數。未被捕獲的類型錯誤只在Chrome中

只是爲了舉例來說,即使是簡單的:

<a href='#' onclick="javascript:alert(123);">click</a> 

或:

<a href='#' onclick="alert(123);">click</a> 

給了我一個遺漏的類型錯誤:對象不是一個函數。 但只適用於Chrome並且僅適用於我的筆記型計算機。在我的工作站(同一系統,完全相同的Chrome版本)和每一個其他瀏覽器中,此線路按預期工作。

Im自從幾年以來一直在使用JS,但是這個錯誤讓我幾天後就開始瘋狂了。

該網站自帶scriptaculous和一些手寫的JS,但沒有什麼特別的。 scriptaculous運作良好,除了我的筆記本上的一個@Chrome,JS-Console顯示沒有錯誤。

你們之前曾經有過這樣的人嗎? 我真的不知道發生了什麼。


+0

的'的JavaScript:'標籤是沒有用在onclick,不使用它。 – epascarello 2013-03-27 17:17:11

回答

0

我的建議是通過JavaScript分配它,而不是像內聯屬性。有時你會得到奇怪的行爲,將其設置爲屬性。

你可以使用jQuery:

jQuery('.myClickableLink').click(function(){ alert(123) }) 

我認爲這是一個簡單的方法。

+0

是的,也許這是唯一的解決方案。但後來我不得不重新整理網站的全部技術,因爲所有東西都基於scriptaculous。但也許這是切換到jQ的點... – user2216546 2013-03-27 17:22:56

+0

該死的。與jQ我得到** Porperty'警告'的對象不是一種功能** – user2216546 2013-03-27 17:41:48

0

我打賭你在那臺機器上安裝了一個彈出窗口攔截器,它攔截了window.alert。禁用插件並查看它是否正常工作。 [通常一個彈出式窗口攔截做到這一點]

+0

不,沒有安裝在Chrome中的彈出窗口攔截器。和alert();只是例如。如果我打電話給另一個功能,無關緊要。錯誤總是相同的。 – user2216546 2013-03-27 17:20:17

0

使用

window.alert('msg)'; 

它會工作...