2013-04-26 50 views
0

我不知道这是一个已知问题,还是我只是做了这个错误,但是当我在动态生成的元素上打开JQuery工具叠加时,关闭按钮没有工作。Jquery工具叠加在动态生成的元素上无法正常工作

我试过3种不同的组合。

1.

$(document).on("click", "a[rel]", function() { $("a[rel]").overlay(); }); 

2.

$("a[rel]").overlay(); 
$(document).on("click", "a[rel]", function() { $("a[rel]").overlay(); }); 

3.

setting the .overlay() on document ready and in my add item event. 

为什么关闭按钮不工作任何想法?覆盖层对于新元素打开就好了,当我按下close时,就没有任何反应。也没有任何控制台错误。

谢谢。

编辑 - 我创建了一个jfiddle,但它有它自己的问题。

http://jsfiddle.net/TjQAQ/

+0

创建一个小提琴,所以我们可以重现您的问题.. – Nelson 2013-04-26 15:54:10

+0

我做了一个,但我不能覆盖工作完全在其中。 - > http://jsfiddle.net/TjQAQ/ – Smith 2013-04-26 17:16:40

+0

这足以让我解答一个问题,如果你想得到答案的提示,试着提供小提琴,即使不工作。 – Nelson 2013-04-26 17:26:10

回答

1

做这样的:

$(document).ready(function() { 
    $('#add').click(function() { 
     $('<a rel="#overlay">New Overlay Trigger</a>').appendTo('body').overlay(); 
    }); 

    $("a[rel]").overlay();  
}); 

working fiddle

+0

现在,如果我使用带下划线模板的主干,我该怎么做?我添加我的新项目的行是: $('ul#adminSpaceImage',this.el).append(this.template(item.toJSON())); – Smith 2013-04-26 18:17:50

+0

对不起,但我忘记了我正在使用主干。有任何想法吗?再次感谢您的回复。无论如何,我接受你的答案。 – Smith 2013-04-26 18:20:55

+0

好的,我已经开始工作了。我只需要找到最后一个选择器并在其上调用.overlay。再次感谢! – Smith 2013-04-26 18:24:04