【问题标题】:Haacked JQuery Undoable "Object doesn't support this property"Haacked JQuery Undoable“对象不支持此属性”
【发布时间】:2011-01-04 10:26:49
【问题描述】:

我参考了 Phil Haack 的“Undoable”文章:http://haacked.com/archive/2010/01/01/jquery-undoable-plugin.aspx

我已经从表格演示页面复制了表格的确切标记,包括 JQuery 1.3.2 分钟,并复制了演示页面上使用的确切脚本块,但是当它到达这一点时:

$('a.delete').undoable({
 inlineStyling: false,
 showingStatus: function(undoable) {

我不断收到“对象不支持此属性或方法”。有什么明显的东西我可能会错过吗?我只是在开发机器上使用 IE8,但这应该不是问题(我希望)。

【问题讨论】:

  • 您在 Firefox 中尝试过(启用 Firebug)吗?我想知道错误是否可能是您粘贴在 SO 上的代码以外的其他地方
  • 如果上面的代码在页面中,你能发布你的脚本标签的顺序,或者脚本标签和内嵌代码吗?
  • 请显示其余的 java 代码...这可能是在显示的行之后发生的问题。

标签: jquery javascript undo


【解决方案1】:

试试这个版本(并查看类似未撇号 JSON 的代码)。

$('a.delete').undoable({
 'inlineStyling': false,
 'showingStatus': function(undoable) {

【讨论】:

    【解决方案2】:

    “对象不支持此属性或方法”可能意味着您对 jQuery 库的链接无效。你能用这样一个简单的警报来验证 jquery 是否真的被加载了:

     $(document).ready(function(){alert("loaded")});
    

    【讨论】:

      【解决方案3】:

      您是否正在从文件系统加载 javascript 文件?由于安全限制,这在 Internet Explorer 中可能会失败。从你所说的可能是你加载 jquery 很好,但不是插件。按照另一位评论者的建议,尝试从网站加载这两个文件。

      插件没有问题。我已经在 Firefox 和 IE 7 中对其进行了测试,并且可以正常工作。所以问题是由于某种原因无法加载 javascript 库。

      【讨论】:

      • IE 在从本地存储执行脚本时确实存在问题。 (出于安全原因)
      【解决方案4】:

      按照文森特的回应 - 确保您将 jquery.undoable.js 文件添加到您的页面

      【讨论】:

      • 我什至直接链接到示例中使用的他网站上的文件,以确保它获得相同的文件、相同的内容等......
      【解决方案5】:

      确保在包含 JQuery 库脚本之后包含您自己的 .js 脚本

      【讨论】:

        【解决方案6】:

        也许'$' 符号没有绑定到 jQuery 对象。用 'jQuery' 替换 '$' 有效吗?

        【讨论】:

          【解决方案7】:

          试试

          $('a.delete').ready(function() { this.undoable({
           inlineStyling: false,
           showingStatus: function(undoable) {
          }}
          

          另外,示例代码实际上是这样的,您是否只尝试过这段代码? (他说样本中没有后端...

          <script type="text/javascript" src="lib/jquery-1.3.2.min.js"></script> 
          <script type="text/javascript" src="src/jquery.undoable.js"></script> 
          
          <script type="text/javascript"> 
              /* 
                  Enables undoable operations
              */
              $(function() {
                  $('a.delete').undoable();
              });
          </script> 
          

          【讨论】:

            【解决方案8】:

            定义undoable 的实际代码不在页面示例中,也不属于jQuery。我想你忘了包括图书馆本身。

            你可以在这里得到: http://github.com/Haacked/jquery.undoable/blob/master/src/jquery.undoable.js

            【讨论】:

            • 不,我绝对包括在内。它在示例页面上,我从页面源中复制了 include jquery.undoable 行,以确保我使用的内容与实际运行的示例相匹配。
            猜你喜欢
            • 2013-08-14
            • 2013-03-23
            • 1970-01-01
            • 1970-01-01
            • 2011-02-02
            • 1970-01-01
            • 1970-01-01
            • 2011-08-25
            • 1970-01-01
            相关资源
            最近更新 更多