我的页面分为两部分vertically
。Left part
就像一个菜单部分。点击
任何菜单都会在页面的right part
中显示与该菜单相关的正确数据。我是
使用ajax call
执行此操作,并且只刷新div on the right part
。我正在使用jquery点击事件..
说:
$("#left_part").click(function() { // ajax call here });
现在我在jquery action
上还有一些right part
。 (比如显示隐藏一些也适用于click event.
的div)
但是当new div reloads
右侧部分click event on the right part
无效时bind the click event
。
但当我$("#some_right_part").click(function() {/ some hide show here )}; Not working
$("#some_right_part").bind('click', function(event){ // some hide show here )}; works fine
时,它就可以了。
说:
fresh page
重要提示:当我在$("#some_right_part").click(function() {/ some hide show here )}; works fine.
时(尚未拨打正确的电话)$().click(function)
但我所知道的是:$().bind('click',function)
来电{{1}}
那么,这背后的原因是什么?或者解决此类问题的最佳方法是什么
由于
答案 0 :(得分:3)
当页面加载时,通过$().click
分配点击事件时,click事件将绑定到所有匹配的元素。但是,当您执行ajax调用并接收新标记时 - 新元素不会绑定到click事件,因为它们在您第一次调用$().click
时不存在。
有一种方法可以将click事件绑定到所有元素以及可能创建的所有未来元素。您必须使用live方法,如下所示:
$('#elements').live('click', function() {
// do logic
});