1

我不太确定为什么我的代码会导致这种情况。

我在标题中有这个 jquery 脚本:

<script>
  $(document).ready(function() {
      $('.control').on('click', function(e) {
          e.preventDefault();
          var field = $(this).data('field');
          $('.hider:visible').fadeOut("slow", function() {
              $('#' + field + '-gallery, #' + field + '-tag').fadeIn("slow");
          });
      });

      var randomIndex = Math.floor((Math.random() * 100) + 1) % 3;
      console.log(randomIndex);

      var field = $($('a').get(randomIndex)).data('field');
      $('#' + field + '-gallery, #' + field + '-tag').fadeIn("slow");
  })​;
   </script>

当我重新加载页面时,没有任何反应,因此脚本似乎没有运行。当我在 Chrome 上检查页面时,我看到在名为 (program) 的选项卡中存在此错误,它位于前几行:

    if (window.top.require) {
Uncaught SyntaxError: Unexpected token ILLEGAL
    window.top.require("ripple/bootstrap").inject(window, document);}

我不知道我的代码中是什么导致了这个错误。当我拿出我的剧本时,它就消失了。不太确定是 wordpress 还是 jqueryUI 的东西(我已经为另一个插件加载了)。

4

2 回答 2

5

)您在和之间的最后一行有一个非法的不可见字符;

将光标放在 之后;,然后开始退格直到删除),然后重新键入它们。

    })​;
 //  ^^---between these

您会注意到,在退格时,光标将无法移动一次。那是删除隐形字符的时候。

当从 jsFiddle 或其他类似站点复制/粘贴代码时会发生这种情况。

字符是 unicode \u200B

于 2012-07-27T16:09:02.360 回答
0

AFAIK,你不知道它来自哪里的脚本代码,是由黑莓模拟器Ripple生成的,当它插入一个生成的脚本你的 document.documentElement (见 GitHub)。我已经看到这种行为在我的许多项目中导致问题,例如,使用 dataType HTML 插入 ajax 结果并混淆我的选择器,或者结合 jquery 表单插件使我的 ajax 响应更脏(无法链接到它,因为没有足够的声誉)等。我认为它可能会干扰您的javascript?希望能帮助到你。

于 2012-09-14T09:39:55.973 回答