【发布时间】:2011-02-03 11:14:44
【问题描述】:
我有这个(非常)简单的 JavaScript 函数,当用户单击“取消”链接时会调用它:
function hideNewUserPanel(){
$('#create_user_panel').slideUp('slow');
$('.right_interior_panel').slideDown('slow');
}
以及添加处理程序的代码:
$(function(){
$('#cancel_create_user_btn').live('click',
function(){ hideNewUserPanel(); }
)
});
从功能上讲,一切都按预期工作。问题是,当我单击“取消”链接时,Firebug 在控制台中显示错误:
未捕获的异常:语法错误,无法识别的表达式:#
我已经多次单步执行代码,并且在调用hideNewUserPanel() 之前的某个时间点出现了错误。冒着听起来像“那些程序员”之一的风险(声称在 GCC 中发现错误并假设他们自己的代码是完美的那种),异常是从 jQuery 中的某个地方抛出的,所以我认为问题是在那里。我正在使用 jQuery 1.3.2(这是一个使用许多 jQuery 插件的遗留项目,如果我们更新到 1.4.x,这些插件将会中断)。
我的代码有什么明显的问题,我根本看不到吗?坦率地说,这段代码非常简单,我真的不明白问题出在哪里。
谢谢!
【问题讨论】:
-
什么,jQuery 并不完美? :)
-
@Robusto - 展示许多主流语言作品,但没有正确关闭大括号,IE5 和 HTML 不算在内! :)
-
请注意,这可能只是:
$('#cancel_create_user_btn').live('click', hideNewUserPanel); -
您是否检查过可能重复的“id”值(例如,多个“cancel_create_user_btn”或其他内容)?
-
是否有任何其他事件绑定到该按钮?
标签: javascript jquery exception