我不太清楚为什么我的代码会造成这种情况。
我在标题中有这个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上检查页面时,我发现这个错误出现在名为(程序)的标签中,它出现在前几行中:
if (window.top.require) {
Uncaught SyntaxError: Unexpected token ILLEGAL
window.top.require("ripple/bootstrap").inject(window, document);}
我不知道我的代码中导致此错误的是什么。当我拿出我的剧本时,它会消失。不太确定是否是wordpress或jqueryUI的东西(我已经为另一个插件加载了)。
答案 0 :(得分:5)
)
和;
之间的最后一行有一个非法的隐形字符。
将光标放在;
之后,然后开始退格,直到删除)
,然后重新键入它们。
});
// ^^---between these
您会注意到,在退格时,光标将无法移动一次。那是在删除隐形字符的时候。
当从jsFiddle或其他类似网站复制/粘贴代码时会发生这种情况。
该字符是unicode \u200B
。
答案 1 :(得分:0)
AFAIK是一个你不知道它来自哪里的脚本代码,它是由Blackberry仿真器Ripple生成的,当它插入一个生成的脚本你的document.documentElement(see at GitHub)时。我已经看到这种行为导致我的许多项目出现问题,例如,使用dataType HTML插入ajax结果并混淆我的选择器,或者使用jquery表单插件使我的ajax响应变得更脏(无法链接到它因为没有足够的声誉),等等。我认为这可能会干扰你的javascript?希望它有所帮助。