解决方案 »
- 关于tr的onclick事件和tr里的<img>的onClick事件同时触发的问题
- 急求答案!!onclick和select的问题
- obj0.childNodes[i]总为空,而obj0.childNodes[i].nodeValue总为null,请教了
- 在线等待:怎样将两个数组里的值做比较?
- 为什么第二次点连接就不走后台了?
- 求助 js 单击 tr td 可以进行显示或隐藏 变换?
- 转载:探秘IE8的强大JavaScript功能
- 问一个读取xml,显示节点的问题
- 求助:表单onsubmit返回false为什么还是会跳转?
- 想问问各位一个nginx的问题,关于nginx播放flv的功能
- 一个简单的jquery 问题
- js变量作用域及可访问性
$("#List li a").click(function(){
$("#List li a").removeClass("active");
$(this).addClass("active");
});
})放到
ajax返回后执行才可以放到这里
$(function(){
$("#List li a").click(function(){
$("#List li a").removeClass("active");
$(this).addClass("active");
});
})
前面了,还是不执行click
ShowCalendar(Type);
$(function(){
$("#List li a").click(function(){
$("#List li a").removeClass("active");
$(this).addClass("active");
});
})
</head>
<body>
<div id="calendar"><!--Ajax插入点--></div>
</body>
<script>
alert($("#List li a"))
</script>
</html>红色部分很关键,只要alert一下,就会执行click,注释以后就不执行,我总感觉我什么地方错了,或者click绑定错了,可是就是不知错在哪里?
其次看下源码中 会不会出现ID重复了,如果重复了,也会找不到
建议你从DIV开始往里 找,这样的话,不会错..
还有就是这样个地方那个的click 可以改写成 $(this).addClass(active'').siblings().removeClass('active'); 这样可读性好点,其次也减少了代码量
把它放到$(function(){})里。
用live方法绑定
因为你用了html()方法
改变了页面的dom结构
所以给之前的那个click绑定的元素因为html而不存在了
要么你用live绑定
要么html()后重新绑定一次click
建议用live
目前支持 click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。
还不支持 blur, focus, mouseenter, mouseleave, change, submit
与bind()不同的是,live()一次只能绑定一个事件。
放到$("#calendar").html(ttext);后面,插入新的元素以后再绑定,谢谢大家帮忙