控制臺報(bào)錯(cuò)object is not a function的解決方法
今天反饋過來一個(gè)BUG,說一個(gè)頁面的功能用不了。打開控制臺發(fā)現(xiàn)報(bào)錯(cuò):object is not a function。
感覺很奇怪,這塊的功能最新沒動過怎么會突然出問題了呢?上線時(shí)主流瀏覽器都測試過了呀。
雖然奇怪,但是還的解決問題。看著代碼發(fā)現(xiàn)一個(gè)radio對象的name屬性和一個(gè)function name重名了。代碼如下:
<body>
<input type="radio" name="test" onclick="test();"/>
<br/>
<form action="">
<input type="radio" name="test" onclick="test();"/>
</form>
</body>
<script type="text/javascript">
function test(){
alert("11");
}
</script>
修改了函數(shù)名稱,解決了問題。但是沒找到根源,因?yàn)檫@個(gè)函數(shù)名以前就是這樣的,可以正常使用。修改代碼
onclick="alert(test);"
發(fā)現(xiàn)彈出“object HTMLInputElement”,瀏覽器解析test變?yōu)閐om對象了。
在script腳本test函數(shù)后alert(test);還是一個(gè)function。
查看svn版本發(fā)現(xiàn),是我做另一個(gè)功能的時(shí)候加了一個(gè)form表單把這個(gè)radio包起來了。導(dǎo)致瀏覽器解析出錯(cuò)了。
總結(jié):不一定沒改動的代碼就沒問題,說不定改動的地方引起了別的問題。有些瀏覽器兼容性問題都是代碼不規(guī)范導(dǎo)致的,以后寫代碼要規(guī)范!
哪位大牛如果知道為什么加了form瀏覽器解析出問題,能告訴我下。感激不盡!
- 解決JS請求路徑控制臺報(bào)錯(cuò)?Failed?to?launch'xxx'?because?the?scheme?does?not?have?a?registered?handler的問題
- 瀏覽器控制臺報(bào)錯(cuò)Failed to load module script:解決方法
- js控制臺報(bào)錯(cuò)Uncaught TypeError: Cannot read properties of undefined (reading ‘a(chǎn)ppendChild‘)的解決
- 控制臺報(bào)錯(cuò):Cannot?access?'xxx'?before?initialization解決方法
相關(guān)文章
javascript學(xué)習(xí)筆記(六) Date 日期類型
javascript學(xué)習(xí)筆記之Date 日期類型介紹,需要的朋友可以參考下2012-06-06
javascript實(shí)現(xiàn)dom元素可拖動
HTML DOM 是 W3C 標(biāo)準(zhǔn)(是 HTML 文檔對象模型的英文縮寫,Document Object Model for HTML)。通過 DOM,可以訪問所有的 HTML 元素,連同它們所包含的文本和屬性??梢詫ζ渲械膬?nèi)容進(jìn)行修改和刪除,同時(shí)也可以創(chuàng)建新的元素。2016-03-03
學(xué)習(xí)js在線html(富文本,所見即所得)編輯器
需要一個(gè)可以編輯同時(shí)又可顯效果的編輯框。textarea不行,它只能用來輸入純文本,不能顯示顏色、斜體之類的文字樣式,就像記事本,本文介紹所見即所得編輯器實(shí)現(xiàn)原理2012-12-12
JavaScript中的prototype和constructor簡明總結(jié)
一直沒弄清楚JavaScript中的prototype和constructor屬性,今天看了看書,總算有點(diǎn)眉目了2014-04-04

