1

在周视图下,mouseOver我在萤火虫中收到此错误消息:

Error: Syntax error, unrecognized expression: ,
throw new Error( "Syntax error, unrecognized expression: " + msg );
jquery-1.8.3.js (line 4680)

有没有人遇到过这样的问题,或者有没有办法调试错误的根源?

提前
致谢

4

3 回答 3

2

它看起来像一个选择器错误:

$("abc, def, "); // or
$("<div,");

不确定。

如果您查看 jQuery 1.8.3 的源代码,您会在 4680 行附近找到这些行:

/*LINE: 4679*/ Sizzle.error = function( msg ) {
/*LINE: 4680*/     throw new Error( "Syntax error, unrecognized expression: " + msg );
/*LINE: 4681*/ };

很难从这里调试您的代码,但您可以尝试在arguments.callee.caller之前放置throw new Error

Sizzle.error = function( msg ) {
    console.log( arguments.callee.caller );
    throw new Error( "Syntax error, unrecognized expression: " + msg );
};

这会告诉你什么函数正在调用这个函数。从那里您可以尝试使用相同的方法向上旅行。最后你会发现你的问题。


是什么arguments.callee.caller

arguments是一个类似属性的数组,包含解析为函数的所有参数:

function a() {}
a(1, 2, 3); // Inside a arguments will be: [1, 2, 3]

arguments有一个名callee为此属性的属性包含对名为例如的函数的引用。它自己:

function a() {} // arguments.callee === a.

arguments.callee有一个称为此属性的非标准(但标准,只是未在 ECMA 中描述)caller属性包含对在运行时调用它的函数的引用。

function a() {
    b()
}
function b() {}; // arguments.callee.caller === a;

a();

还有一些文档:

你知道console-object吗?

于 2013-01-14T01:59:07.093 回答
0

通过离开 jQuery-Mobile 并仅返回 jQuery-UI 解决了这个问题。FullCalendar 在 jQuery-Mobile 下无法正常工作。

于 2013-01-23T10:09:12.980 回答
0

问题是由 jQuery-Mobile 引起的。FullCalendar 无法在 jQuery-Mobile 环境中正常运行。回到 jQuery-UI 之后,一切都恢复正常了。

感谢您的帮助

于 2013-05-17T09:53:56.247 回答