JQuery base64函数实现

时间:2010-08-21 19:03:36

标签: jquery events 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

4 个答案:

答案 0 :(得分:4)

检查您是否在页面中没有包含两次jQuery。这样做的第一个加载,插件在 jQuery对象上定义自己,当第二次包含jQuery时,window.jQuery对象被覆盖...并且插件不会在其上:)

稍后运行时会看到这个,而document.ready可能位于第二个jQuery包含之前。

答案 1 :(得分:1)

Nick Craver有权利!我使用Zfdebug作为Zend框架并且已经包含了JQUERY, 由于ZF aut包括JQUERY,我加入了两次。谢谢

我提出了一个新问题,我怎么能在Zfdebug特定环境中只包含一次Jquery ZFdebug Jquery interference

答案 2 :(得分:0)

它对我有用。您可能有一个无关的Javascript错误导致base64库无法正确加载。

答案 3 :(得分: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 Framework和FastTemplate