4 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
頁面上引用的js文件中函數(shù)不能執(zhí)行的原因:找不到函數(shù),會(huì)報(bào)錯(cuò)或undefined;語法錯(cuò)誤;沒有引用js文件等。
具體的解決方法:
1、函數(shù)應(yīng)當(dāng)直接寫在頁面即可調(diào)用;
2、確保有引用js文件,如果引用了的話,也是可以調(diào)用的。引用方式,可以直接拖拽(因?yàn)槁窂綔?zhǔn)確),也可以自己寫,引用腳本:<script src="Scripts/JScript.js" type="text/javascript"></script>
3、引用的js文件一定要在調(diào)用之前,否則就找不到函數(shù)了,會(huì)報(bào)錯(cuò)或undefined。
調(diào)用頁面:
123456789 | <script src= "Scripts/JScript.js" type= "text/javascript" ></script> <script type= "text/javascript" > aa(); </script> Script.js中代碼: function aa() { alert( "js文件掉用" ); } |
另外:在BS項(xiàng)目中,某個(gè)aspx頁面需要引用外部:腳本文件,通過在頁面head節(jié)<script language="" src="">方式引用指定的js之后,仍然無效。
通過alert方式調(diào)試,發(fā)現(xiàn)是由于js文件編碼與js文件內(nèi)容不符。由于js文件中包含中文注釋,所以需要設(shè)置js文件為可識(shí)別中文的gb2312編碼。其方法如下:
在.net中通過這種方式引用js文件<script type="text/javascript" src="setday0.js"></script> 然后在頁面中調(diào)用setday0.js文件中的方法往往會(huì)出錯(cuò)!但是如果把setday0.js文件的內(nèi)容直接放到該頁面中來又一點(diǎn)問題也沒有。就在頁面中重寫js代碼。
這個(gè)問題是由于.net中的text編碼所引起的,需要把setday0.js文件保存為UTF-8或者其他Unicode編碼方式,問題就迎刃而解。原來的文本編碼為gb2312,因?yàn)槠渲杏袧h字。
如何進(jìn)行編碼轉(zhuǎn)換?
1、用記事本打開,保存的時(shí)候選擇Unicode編碼;
2、直接在vs中選擇另存為,保存按鈕右邊有個(gè)小箭頭,點(diǎn)一下,然后選擇編碼方式再保存就ok。

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
有可能是 $ 符號(hào)有沖突,你寫成
jQuery(document).ready(function(){
window.alert("執(zhí)行了jquery");
});
試試

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
好像有部分瀏覽器不支持,你試試下面這幾種:
$(function(){});
$(window).ready(function(){})
$(document).ready(function(){})
$(document.body).ready(function(){})

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
存在的原因:
jsp頁面未引入 jquery.js ,導(dǎo)致無法執(zhí)行
js的順序不正確,導(dǎo)致無法執(zhí)行
js的寫法不正確,導(dǎo)致無法執(zhí)行
具體的情況還請(qǐng)貼出代碼。
添加回答
舉報(bào)