我正在使用选项卡式界面,并设置了以下 jQuery 函数来处理选项卡的单击事件。
$(document).ready(function () {
$('a#foo').click(function() {
//content, various calls
return false;
});
});
以上是我的一个选项卡的示例,其他选项卡也在同一个文档就绪块中。我需要做的是使它无法重新单击当前选择的选项卡,并且在某些其他情况下,如果需要,我可以手动禁用选项卡。我通过以下方式实现了这一点:
$('a#play').unbind('click');
这很好用,它肯定会禁用选项卡,但问题是重新绑定曾经存在的单击操作。我通过绑定功能实现了这一点:
$('a#foo').bind('click', function() {
//the same content and calls as before
return false;
});
这也可以正常工作,但是随着我在 UI 中添加选项卡,它变得非常混乱。直接的解决方案似乎是将函数创建为变量,然后将其传递给初始点击创建和绑定事件。像这样:
var Foo = new function() {
//same content and calls as before
return false;
}
$('a#foo').click(Foo());
$('a#foo').bind(Foo());
由于某种原因,这似乎导致浏览器崩溃问题。在这种情况下是否不可能将函数作为 var 传递,还是我做错了?或者,是否有更好的方法来实现我正在寻找的结果?谢谢。