2012-02-24 103 views
3

我使用jQTouch時遇到了一些問題。我有這個鏈接jQuery和「散列」的問題?

<a href="#site_map" class="swap">Map</a> 

這jQTouch initalization:

var jQT = new $.jQTouch({ 
      icon: 'jqtouch.png', 
      icon4: 'jqtouch4.png', 
      addGlossToIcon: false, 
      startupScreen: 'jqt_startup.png', 
      preloadImages: [] 
     }); 

的sooo ...控制檯(谷歌瀏覽器)說:

Uncaught TypeError: Cannot read property 'hash' of undefined 

Line 331, jQTouch.js... 

有人什麼想法?

一些aditional的信息:

火狐控制檯:

hash is undefined 
hash = hash.replace(/^#/, ''), 
jqtouch.js (Zeile 431) 
(432 out of range 4) 
jquery.js (Zeile 432) 

最後,Safari瀏覽器控制檯:

TypeError: 'undefined' is not an object (evaluating 'hash.replace') 
+0

你能重新格式化你的代碼嗎?看不到那是什麼'地圖'鏈接 – yedpodtrzitko 2012-02-24 19:30:48

+0

剛剛做到了:-) – Styler2go 2012-02-24 19:31:33

+0

那麼網頁中是否有id =「site_map」的元素? – yedpodtrzitko 2012-02-24 19:39:54

回答

2

保證,如果你正在使用jQTouch與jQuery,您用jQuery的JQT橋文件一起加載基地JQT(奇 - 插件最初開始工作與jQuery,現在需要一個單獨的插件腳本來處理它而不是Zepto.js)

此外 - 此錯誤是否發生在頁面加載?這是一個您正在使用JQTouch的靜態HTML頁面,還是使用PHP,.NET等動態創建的?

0

這是因爲哈希是window.location的。

你可能只是做:

var hash = location.hash.replace(/^#/, '')