2010-08-16 238 views
0

我有一个main.php其中一个页面(page1.php)被称为嵌入在一个div中。 当page1.php加载时,我正在动态更新page1中的表格。点击事件没有触发第一次点击jquery

现在,当我在表中的click事件上调用函数时,该函数被调用,但控件不会进入我在函数内调用的表的click事件中。 然而,点击第二次以后,控制进入并正常工作。

以下是在JS的函数文件

function highlight_table() 
{ 
$(#table tr).click(function(){ 
alert("here"); 
}); 

回答

1

确保您呼叫时,DOM加载这一功能,以使事件处理程序附着在第一时间:

$(function() { 
    highlight_table(); 
}); 

如果当DOM加载后table不存在,但稍后使用AJAX添加时,您可能需要在AJAX请求的success处理程序中调用此函数。

而且(如果需要的话),你可能需要使用.live()功能,以便当表被更新单击处理被保留:

$('#table tr').live('click', function() { 
    alert('here'); 
}); 
0

你也可能想看看进入.delegate()功能从什么我读过,jQuery的创建者似乎在推动用户向.live()以上。