在jquery中第一次单击时未触发的click事件

我有一个main.php,其中另一个页面(page1.php)被嵌入div中。 当加载page1.php时,我正在动态更新page1中的表。

现在,当我在表的click事件上调用一个函数时,函数被调用,但是控件没有进入我在函数内部调用的表的click事件中。 然而,第二次点击控件进入并正常工作。

以下是js文件中的函数

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

确保在加载DOM时调用此函数,以便第一次附加事件处理程序:

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

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

此外,您可能需要使用.live()函数,以便在更新表时保留单击处理程序(如果需要):

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

您可能还想查看.delegate()函数,就像我读过的那样,jQuery的创建者似乎正在推动用户通过.live()