在这里发布stackoverflow的新手,所以如果我搞砸了这里的任何东西,我提前道歉.
我正在使用Twitter Bootstrap的popovers.我的popovers似乎适用于我手动输入到我的HTML文档中的元素 - 但不是我通过Javascript/Ajax动态生成的元素.
例如,如果我手动将它直接添加到我的HTML文档中,那么popover似乎有效:
<p rel=popover data-content='It is so simple to create a tooltop for my website!' data-original-title='Twitter Bootstrap Popover'>hover for popover</p>
Run Code Online (Sandbox Code Playgroud)
但我真正需要的是我动态生成的元素有弹出窗口.我使用XMLHttpRequest向PHP文件发送请求,然后获取responseText并显示它.当我将这行代码添加到我前面提到的PHP文件中时:
echo "<p rel=popover data-content='It is so simple to create a tooltop for my website!' data-original-title='Twitter Bootstrap Popover'>hover for popover</p>";
Run Code Online (Sandbox Code Playgroud)
......当然,出现了"悬停于弹出窗口"的字样 - 但是弹出窗口本身不起作用!
这让我疯了一段时间,如果有人可以伸出援助之手,那将是不可思议的!我还添加了我正在使用的JQuery函数来启用下面的Bootstrap的popovers,这是值得的.
$(function (){
$("[rel=popover]").popover({placement:'left'});
});
Run Code Online (Sandbox Code Playgroud)
我已经彻底搜索了类似的问题,我能找到的最好的就是这个链接.但是这个链接似乎也没有任何解决方案.再次感谢!
更新:
固定!非常感谢所有帮助过的人.我的问题是在将元素添加到文档对象模型之前调用该函数.有多种可能的修复方法 - 我只是通过将popover函数转移到Ajax函数的END来测试解决方案,并且它有效!
我正在尝试将弹回窗添加到动态创建的元素中.每种元素(ContentEditable或Img或视频)都需要具有不同的弹出窗口内容.
因为它们是动态元素,所以我称之为popovers如下:
$('body').popover({
selector: '[rel=popoverImage]',
content: **popoverImage**,
html: true,
placement: 'top',
trigger: 'focus'
});
Run Code Online (Sandbox Code Playgroud)
哪个popoverImage变量具有img元素的popover内容.
当我尝试添加另一个弹出窗口时出现问题.它没有显示.我尝试过以下方法:
$('body')popover({...})功能中调用它们.body元素更改为动态生成的容器.有任何想法吗?
我需要检测一些类更改,我使用这个DOMAttrModified,但有些东西是错的,什么?
var first_img = $('body').find('li:first').find('img');
first_img.on('DOMAttrModified',function(e){
if (e.attrName === 'class') {
if ($(this).hasClass('current-image')) {
$(this).removeClass().addClass('previous-image');
}
console.log('log');
}
});
Run Code Online (Sandbox Code Playgroud)
感谢您的建议.
所以我使用无限滚动,当我滚动x个像素数量时,会向页面添加新对象.但是如何使用jQuery检查是否在页面中添加了新元素(class或id)?
(我想检查一下,因为如果添加了一个新元素,我想在新元素上做一些jQuery).