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

时间:2010-08-16 09:22:42

标签: jquery

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

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

以下是js文件中的函数

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

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

答案 1 :(得分:0)

您可能还想从我所阅读的内容中查看.delegate()函数,jQuery的创建者似乎正在推动用户超越.live()