我有这个函数sideNav,它是由点击子项目
触发的$(".side-nav ul li a").click(function(event) {
$(document).ready(sideNav());
});
if(window.location.hash) {
$(document).ready(sideNav());
}
我试图在单击某个元素时取消绑定sideNav
$(".side-nav .page-header h1 span").click(function(event) {
}).unbind('ready',sideNav);
我尝试过使用.live()和.die(),但这些不会对hashtag if语句起作用。
任何帮助将不胜感激。谢谢。
答案 0 :(得分:2)
要改变你的点击(),你可以这样做:
$(".side-nav ul li a").bind('click', function(event) {
$(document).ready(sideNav());
});
$(".side-nav ul li a").unbind('click');
答案 1 :(得分:0)
此外,将文件中的代码包装好以确保在执行代码时已加载DOM,不要将每个函数都包装在自己的文档就绪函数中。
当您引用某个函数时,只键入函数名“sideNav
”,如果添加括号,如“sideNav()
”,则立即执行该函数并传回该函数的值函数和默认值,除非返回其他内容是“未定义”,并且在添加括号时,您的文档就绪函数根本不起作用。
$(document).ready(function() {
$(".side-nav ul li a").on('click', sideNav);
$(".side-nav .page-header h1 span").on('click', function() {
$(".side-nav ul li a").off('click');
});
});