【问题标题】:JQuery base64 function implementationjQuery base64函数实现
【发布时间】:2010-08-21 19:03:36
【问题描述】:

我不明白为什么在事件函数中不能使用 jquery 插件(base64 编码解码)。

这种方式有效:

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

但是在尝试添加事件函数时,我得到 $.base64Encode is not a function 错误

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

Jquery 插件位于: http://plugins.jquery.com/project/base64

【问题讨论】:

  • 你能显示完整的文件头吗? (至少所有与脚本相关的内容)
  • 你是否有可能在页面中包含 jQuery 两次?
  • @Nick Craver 将其作为答案发布并接受。这就是答案。

标签: jquery events base64


【解决方案1】:

检查您没有在页面中包含两次 jQuery。这是第一个加载,插件在 that jQuery 对象上定义自己,当第二次包含 jQuery 时,window.jQueryobject 被覆盖......插件赢了不要上它:)

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

【讨论】:

【解决方案2】:

尼克·克拉弗说得对!我将 Zfdebug 用于 Zend 框架,并且已经包含 JQUERY, 由于 ZF aut include JQUERY,我包括了两次。谢谢

我提出了一个新问题,涉及如何在 Zfdebug 特定环境中仅包含一次 Jquery ZFdebug Jquery interference

【讨论】:

  • 我在第一个 Jquery 包含之前进行了更改并包含了插件,现在它可以工作了,但是当我将应用程序投入生产时(这取出了第一个 Jquery 包含然后我无法注册插件在那个 Jquery 上)更详细的问题在上面的链接
【解决方案3】:

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

【讨论】:

    【解决方案4】:

    在我的标题中

    <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 的东西更复杂

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      相关资源
      最近更新 更多