2010-08-21 68 views
5

我不明白爲什麼不在事件函數內部使用jquery插件(base64編碼解碼)。JQuery base64功能實現

這樣工作的:

$(document).ready(function(){ 
    data = $.base64Encode('something'); 
    alert(data); 
    }); 

但試圖在事件函數中添加的時候,我得到$ .base64Encode不是一個函數錯誤

$(document).ready(function(){ 
    $('#submit').click(function(e){ 
     data = $.base64Encode('something'); 
     alert(data); 
     e.preventDefault(); 
    }); 
    }); 

的jQuery插件被發現在: http://plugins.jquery.com/project/base64

+0

你能顯示完整的文件頭嗎? (至少與腳本相關的所有內容) – 2010-08-21 19:21:08

+2

是否有可能在頁面中包含jQuery兩次? – 2010-08-21 19:33:37

+0

@Nick Craver將它作爲答案發布,並接受它。這就是答案。 – Pentium10 2010-08-21 20:11:56

回答

4

檢查你不包括jQuery的兩次頁面的新問題。這是第一個加載,該插件定義了自己的jQuery對象,並且當第二次包含jQuery時,window.jQuery對象被覆蓋...並且插件不會在其上:)

稍後運行時會看到此信息,而您的document.ready可能位於第2個jQuery包含之前。

+0

請檢查我的朋友的其他相關問題,你可能知道它的答案:http://stackoverflow.com/questions/3538849/zfdebug-jquery-interference – Pentium10 2010-08-21 21:25:24

0

它適合我。你可能有一個不相關的Javascript錯誤導致base64庫不能正確加載。

在頭
0

我有

<html> 
<head> 
<title>{TITLE}</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<link rel="stylesheet" href="css/main.css" type="text/css" media="screen" /> 
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script> 
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js'></script> 
<script type='text/javascript' src="js/Jquery/jquery.base64.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 

    $('#submit').click(function(e){ 
     e.preventDefault(); 
     data = $.base64Encode('something'); 
    alert(data); 
    }); 
}); 

</script> 
</head> 

,並提交按鈕

<input id="submit" type="submit" name="Submit" value="Submit" class="button"> 

形式,但正如我所說,如果我把點擊功能之外的data = $.base64Encode('something');然後它工作。

更復雜的東西我使用Zend框架和FastTemplate

1

尼克Craver有權利!我使用Zfdebug作爲Zend框架,並且已經包含JQUERY, ,並且包含兩次由於ZF aut包含JQUERY。謝謝

我做了有關我怎麼能在Zfdebug特定環境包括只有一次的Jquery ZFdebug Jquery interference

+0

我做了一個修改,並在第一個Jquery包含之前包含了插件,現在它可以工作,但是當我將應用程序投入生產時(這會取出第一個包含JQuery的插件,然後我無法在該Jquery上註冊該插件)更詳細的問題在上面的鏈接 – Kszili 2010-08-21 20:59:03