Plugins 来自wordpress插件dosen';不适用于通过ajax加载的内容。
我正在使用Jquery悬停脚注插件,该插件允许添加脚注并在悬停时动态显示它们 其用法示例如下: 此外,在我的single.php中,我使用选项卡式内容显示来自自定义字段的元数据。换句话说,当单击选项卡时,通过div上的ajax加载一个自定义字段,该内容包含脚注 jquery管理选项卡的功能是:Plugins 来自wordpress插件dosen';不适用于通过ajax加载的内容。,plugins,jquery,ajax,javascript,Plugins,Jquery,Ajax,Javascript,我正在使用Jquery悬停脚注插件,该插件允许添加脚注并在悬停时动态显示它们 其用法示例如下: 此外,在我的single.php中,我使用选项卡式内容显示来自自定义字段的元数据。换句话说,当单击选项卡时,通过div上的ajax加载一个自定义字段,该内容包含脚注 jquery管理选项卡的功能是: function tab(var) { $(document).ready(function(){ var Tabs = { '1' : 'page1.php?p='+var,
function tab(var)
{
$(document).ready(function(){
var Tabs = {
'1' : 'page1.php?p='+var,
'2' : 'page2.php?p='+var,
'3' : 'page3.php?p='+var,
'4' : 'page4.php?p='+var,
'5' : 'page5.php?p='+var
}
$.each(Tabs,function(i,j){
var tmp = $('<li><a href="" class="tab">'+i+'</a></li>');
tmp.find('a').data('page',j);
$('ul.tabContainer').append(tmp);
})
var the_tabs = $('.tab');
the_tabs.click(function(e){
var element = $(this);
var bg = element.attr('class').replace('tab','');
if(!element.data('cache'))
{
$.get(element.data('page'),function(msg){
$('#contentHolder').html(msg);
element.data('cache',msg);
});
}
e.preventDefault();
})
the_tabs.eq(0).click();
});
return false;
single.php中的html代码是:
<ul class="tabContainer" style="display: none;">
</ul>
<div class="clear"></div>
<div id="tabContent" style="display:none;">
<div id="contentHolder">
</div>
</div>
与:
正如您所说,问题与更新DOM后触发插件JS操作有关。我在插件的js源代码中发现该操作是由Footnotes.Setup()触发的,因此我将其添加到ajax加载函数中
现在的代码是:
function tab(var)
{
$(document).ready(function(){
var Tabs = {
'1' : 'page1.php?p='+var,
'2' : 'page2.php?p='+var,
'3' : 'page3.php?p='+var,
'4' : 'page4.php?p='+var,
'5' : 'page5.php?p='+var
}
$.each(Tabs,function(i,j){
var tmp = $('<li><a href="" class="tab">'+i+'</a></li>');
tmp.find('a').data('page',j);
$('ul.tabContainer').append(tmp);
})
var the_tabs = $('.tab');
the_tabs.click(function(e){
var element = $(this);
var bg = element.attr('class').replace('tab','');
if(!element.data('cache'))
{
$.get(element.data('page'),function(msg){
$('#contentHolder').html(msg);
**Footnotes.setup();**
element.data('cache',msg);
});
}
e.preventDefault();
})
the_tabs.eq(0).click();
});
return false;
}
函数选项卡(var)
{
$(文档).ready(函数(){
变量选项卡={
“1”:“page1.php?p=”+var,
“2”:“page2.php?p=”+var,
“3”:“page3.php?p=”+var,
“4”:“page4.php?p=”+var,
“5”:“page5.php?p=”+var
}
$。每个(选项卡、功能(i、j){
var tmp=$('li>');
tmp.find('a')。数据('page',j');
$('ul.tabContainer').append(tmp);
})
var the_tabs=$('.tab');
_选项卡。单击(功能(e){
var元素=$(此);
var bg=element.attr('class')。replace('tab','');
如果(!element.data('cache'))
{
$.get(element.data('page')、函数(msg){
$('#contentHolder').html(msg);
**脚注.设置()**
元素。数据('cache',msg);
});
}
e、 预防默认值();
})
_tabs.eq(0).单击();
});
返回false;
}
这是一个JS问题(在DOM更新后不会再次触发该操作),这里没有主题。最好是这么问(打上搬家的标记)。
<body onLoad="tab(<?php echo $thePostID?>);>
function tab(var)
{
$(document).ready(function(){
var Tabs = {
'1' : 'page1.php?p='+var,
'2' : 'page2.php?p='+var,
'3' : 'page3.php?p='+var,
'4' : 'page4.php?p='+var,
'5' : 'page5.php?p='+var
}
$.each(Tabs,function(i,j){
var tmp = $('<li><a href="" class="tab">'+i+'</a></li>');
tmp.find('a').data('page',j);
$('ul.tabContainer').append(tmp);
})
var the_tabs = $('.tab');
the_tabs.click(function(e){
var element = $(this);
var bg = element.attr('class').replace('tab','');
if(!element.data('cache'))
{
$.get(element.data('page'),function(msg){
$('#contentHolder').html(msg);
**Footnotes.setup();**
element.data('cache',msg);
});
}
e.preventDefault();
})
the_tabs.eq(0).click();
});
return false;
}