代码之家  ›  专栏  ›  技术社区  ›  Pentium10

jquery base64函数实现

  •  5
  • Pentium10  · 技术社区  · 14 年前

    我不明白为什么在事件函数中不使用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 回复  |  直到 14 年前
        1
  •  4
  •   Nick Craver    14 年前

    检查您是否在页面中包含两次jquery。这是第一个加载,插件在 那个 jQuery 对象,当第二次包含jquery时, window.jQuery 对象被重写…插件将不在其上:)

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

        2
  •  1
  •   Community CDub    7 年前

    尼克·克雷弗是对的!我将zfdebug用于Zend框架,它已经包括jquery, 由于zf aut include jquery,所以我包括了两次。谢谢你

    我提出了一个新问题,关于如何在zfdebug特定环境中只包含一次jquery ZFdebug Jquery interference

        3
  •  0
  •   clofresh    14 年前

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

        4
  •  0
  •   Kszili    14 年前

    在我的头上

    <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