網上查資料和不斷嘗試,終於找到原因了.
1)網上一種解釋:
If you are trying to add your own jQuery code to WordPress, and have had the error “$ is not a function” show up on Firebug, here is the fix:
Convert all dollar signs ($) to ‘jQuery’
The dollar sign is reserved in WordPress for the Prototype library, which is why it errors out. For example, instead of:
1
2
3
|
$().ready( function () { $( "#select_me" ).show(); }); |
Change it to:
1
2
3
|
jQuery().ready( function () { jQuery( "#select_me" ).show(); }); |
2)按照上面該法沒作用. Error msg 變成: jQuery(***).dialog is not a function.
一個下午的努力, 覺得可能是js衝突所致. 一行行刪代碼, 發現是下面一行. 原來不是方法衝突, 而是引用衝突吧?!
"<script src="<session:constant name='ContextPath'/>/js/jquery-1.8.5/js/jquery-1.4.2.min.js" type="text/javascript"></script>". 在內部Frame的jsp中, 這樣一行刪除就OK了. 可能是外部已經引用了, 刪除後jQuery的方法都正常了.