如何在事件而不是页面加载时加载某些东西

时间:2009-12-22 05:32:24

标签: javascript jquery

所以情况是对正在进行的博客发表评论,每个评论者都有能力回复任何评论。为此,我有一个链接,当单击时,将显示(使用jQuery)一个特殊的回复表单,而不是页面底部的正常回复表单。因此,我不想在页面加载时在每个注释上加载表单,而是只加载用户需要的表单,并且只在他们点击链接时加载。

现在,我不只是想隐藏它们,我知道该怎么做。我希望他们在点击链接之前根本不在那里。那可以这样做吗?你不需要告诉我到底该怎么做(虽然我可能会在稍后回到某个特定的地方)如果你只是给我一个搜索词,或者一个简短的概述,那就太棒了!谢谢!!

3 个答案:

答案 0 :(得分:2)

在链接上,单击动态创建表单。 e.g:

$('a.link').click(function()
{
   $('body').append("div id='dynamicdiv' class='y'><input type='text class='xyz' />" +
                    ".........................");
   $('#dynamicdiv').css({'position': 'absolute', 'top': '100px', 'left': '200px'});
});

答案 1 :(得分:0)

注入HTML的最简单方法是使用jQuery的load函数。

从示例中 - 加载页面,然后从页面添加选择:

$("#links").load("/Main_Page #jq-p-Getting-Started li");

如果您需要更高级的选项,还可以使用ajax

$.ajax({
  url: "test.html",
  cache: false,
  success: function(html){
    $("#results").append(html);
  }
});

答案 2 :(得分:0)

我会添加一次表单,隐藏它,克隆并在需要时附加它。该链接将包含引用该注释的id(或其他标识符)。使用javascript来操作表单或url选项的动作attr(如果使用jQuery.form插件)。