2012-04-14 29 views
0

我正在嘗試將Jmpress.js(impress.js的一個分支,實際上是一個jquery插件)整合到Drupal 7中,我發現了一些問題。Drupal 7中的JavaScript:使用JMpress.js時發生衝突

首先,我得到了「$不是函數」的錯誤,我設法解決直接指向jQuery而不是使用$,如解釋elsewhere

但是現在我得到了一個可以識別的函數,這個函數真的很糟糕(錯誤的元素,僅在某些情況下操作鍵盤導航),更重要的是我可以在Firebug控制檯中看到很多錯誤消息。

在這裏,我將其粘貼幾個:

$(hashLink).on is not a function 
(?)()jmpress.js?m2hr5f (línea 1491) 
step = "init" 
eventData = Object { settings={...}, current={...}, container=[1], más...} 
(?)()jmpress.js?m2hr5f (línea 278) 
idx = 2 
callback = function() 
nodeName()jquery.js?v=1.4.4 (línea 34) 
j = [firstSlide(step, eventData), function(), function()] 
s = function() 
v = function() 
callCallback()jmpress.js?m2hr5f (línea 277) 
callbackName = "selectInitialStep" 
element = "init" 
eventData = Object { settings={...}, current={...}, container=[1], más...} 
init()jmpress.js?m2hr5f (línea 666) 
args = Object { beforeChange=[0], beforeInitStep=[0], initStep=[0], más...} 
f()jmpress.js?m2hr5f (línea 800) 
(?)()jmpress.js?m2hr5f (línea 810) 
idx = 0 
element = div#simple 
nodeName()jquery.js?v=1.4.4 (línea 34) 
j = [div#simple] 
s = function() 
v = div#simple 
toArray()jquery.js?v=1.4.4 (línea 27) 
j = function() 
s = undefined 
jmpress()jmpress.js?m2hr5f (línea 809) 
method = undefined 
diapos()17 (línea 105) 
noConflict()jquery.js?v=1.4.4 (línea 30) 
j = function() 
inArray()jquery.js?v=1.4.4 (línea 38) 
[Parar en este error] 

$(hashLink).on("click"+current.hashNamespace, function(event) { 

我現在有點失落,因爲我一直在爭取得到這個工作了差不多兩天的(我開始與原來的嘗試impress.js,但我投降了,因爲集成一個jQuery插件看起來更可行)。

我也試過encapsulating my code(這是一個非常小的代碼,推出jmpress.js),但我想我做錯了什麼,因爲我沒有得到任何進一步的:)

任何幫助/想法將不勝感激。謝謝!

的JMpress.js被正確地裝載在報頭中,並且我將此代碼添加到發佈的節點的所述本體(與PHP代碼過濾活動,從而使代碼不被剝離):

<script type="text/javascript"> 
jQuery(function() { 
    jQuery('#simple').jmpress(); 
}); 
</script> 

回答

0

問題與jQuery版本有關。

Drupal 7與jQuery 1.4.4一起工作,http://shama.github.com/jmpress.js/#/home中的jmpress例子與jQuery 1.7.1一起使用。

例如,.on()功能加入jQuery的1.7(http://api.jquery.com/on/

覆蓋您的jQuery的版本要使用這個插件。

使用hook_js_alter刪除不需要的jQuery版本並將其替換爲jquery 1.7.1。

請小心,並且僅在需要時使用它,因爲在此更改之後,您的JS代碼的其他部分可能會被中斷。

+0

**謝謝!**,解決了這個問題相當直接!爲了防止在js代碼的其他部分發生錯誤,我會嘗試僅爲該確切視圖使用_js_alter。 – versvs 2012-04-15 12:58:30

相關問題