我真的需要一些帮助!
我在Joomla的后台工作。你可能知道Joomla默认使用Mootools,也就是默认的SqueezeBox lightbox。我正在尝试构建一个模块,在其中我正在构建一个自定义字段,在其中我可以添加出现的或克隆的行。为此,我使用了Jquery DynoTable.js插件。
问题是,在每一行中都有一个称为模式lightbox iframe的链接。当我添加新行的时候,新的行打不开灯箱。
window.addEvent('domready', function() {
SqueezeBox.initialize({});
SqueezeBox.assign($$('a.modal'), {
parse: 'rel'
});});
不幸的是,我不能修改这个脚本,它在Joomla的核心中,我不想去修改它。
我猜这是因为已经设置的触发器在domReady上,并且只应用于已经存在的Dom。为此,我尝试向DynoTable脚本添加一个备用‘触发器’,该脚本调用Squeezebox lightbox以再次应用:
onRowAdd: function(){
SqueezeBox.assign($$("a.modal"), {parse: "rel"}); },
这是可行的(将打开lightbox),但是已经设置的模式链接(来自加载的行)将在该模式中打开2,3,4等,这取决于添加了多少新行。所以基本上新行将打开一个普通的lightbox,而旧的行将在该lightbox中打开多个iframe。
希望我解释得很好..非常感谢你们!
发布于 2013-02-10 20:09:58
尝试将您的赋值选择器更改为如下所示:
onRowAdd: function(){
// YOURDYNTABLE_ID has to be a valid selector to specify the dynoTable, can
// be an ID or class of the table, or an parent element containing the table
// with tr:last-child you only select the last row (the one you just added).
SqueezeBox.assign($$("YOURDYNTABLE_ID tr:last-child a.modal"), {parse: "rel"});
}https://stackoverflow.com/questions/14797323
复制相似问题