1

我的要求是在双击一个 div 时,另一个 div 应该打开为 fancybox .. 如何在带有 rails 3.1 的 Jquery 中做到这一点

我在 document.ready() 中有以下函数

$("#a1").dblclick(function () {
  $.get("/projects/edit/"+this.id,{
  u:$('#user').val()
  },
  function(data)
  {
  $("#edit_proj").fancybox();
  $("#edit_proj").html(data);

  });

但是edit_proj div没有在fancybox中打开。我不知道如何在fancybox中打开它。

谢谢

4

2 回答 2

0

确保#edit_proj你的页面上存在也改变这个

 $("#edit_proj").fancybox();
  $("#edit_proj").html(data);

对此

  $("#edit_proj").html(data);
 $("#edit_proj").fancybox();
于 2012-11-22T07:11:43.267 回答
0

我不知道你的结构divs是否<div id="edit_proj"></div>存在于你的文档结构中(你可以评估它并动态附加div到父容器中)......所以猜测你有这个(渲染的 html)结构:

<div id="a1">double click me</div>
<div id="container"></div>

...#container的父级在哪里(将是)div#edit_proj那么你可以试试这个脚本

$("#a1").dblclick(function() {
    $.get("/projects/edit/" + this.id, {
        u: $('#user').val(),
    }, function(data) {
        if ($("#edit_proj").length == 0) {
            console.log("it doesn't exist"); // so append it
            $("<div id='edit_proj' />").appendTo("#container").html(data);
            $.fancybox("#edit_proj"); // fancybox
        } else {
            console.log("it does exist"); // so add data
            $("#edit_proj").html(data);
            $.fancybox("#edit_proj"); // fancybox
        }
    }); // get
}); // dblclick

JSFIDDLE

重要提示:请记住,由于您使用的是inline内容,fancybox 将返回<div id='edit_proj'></div>其在文档结构中的位置,并带有属性display:none;

注意:此演示使用 fancybox v2.1.3+。

于 2012-11-22T18:45:13.380 回答