小编ryz*_*yzh的帖子

Twitter Bootstrap Popovers不适用于动态生成的内容

在这里发布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来测试解决方案,并且它有效!

javascript ajax jquery popover twitter-bootstrap

20
推荐指数
1
解决办法
2万
查看次数

“溢出:隐藏”在“身体”上使用 USB 鼠标产生毛刺滚动条

我正在构建一个 Web 应用程序并使用 Google Chrome 进行测试。我有一个侧边栏元素,如果我将鼠标悬停在该元素上,我想禁用该body元素的滚动。

我通过overflow: hiddenbody用户悬停在侧边栏上时使用 CSS设置标签来实现这一点。我在没有插入 USB 鼠标的浏览器上对此进行了测试,效果很好:

侧边栏关闭body滚动条可见)

在此处输入图片说明

侧边栏打开 - 不好body滚动条仍然可见,产生难看的重叠)

在此处输入图片说明

侧边栏打开 - 很好(我的修复:隐藏body滚动条,以便侧边栏滚动条单独显示)

在此处输入图片说明

这是有效的,因为谷歌浏览器不会将滚动条呈现为实际元素(具有宽度)。但是,当我插入 USB 鼠标时,滚动条现在确实有宽度。因此,当我将鼠标从滚动条外部移动到滚动条内部时,宽度突然改变:

悬停之前body滚动条可见)

在此处输入图片说明

悬停后 - 坏body滚动条隐藏,突然减少整个侧边栏的宽度)

在此处输入图片说明

这会产生一种非常丑陋和毛刺的视觉效果,当您将鼠标悬停在元素上时,元素的宽度会发生变化。我到处寻找解决方案......任何帮助将不胜感激!非常感谢!

css mouse google-chrome overflow scrollbar

4
推荐指数
1
解决办法
1850
查看次数

在显示Bootstrap popover之前执行功能?

我最近开始使用Twitter的新Bootstrap 2.0.1及其Javascript弹出窗口.

我想编写一个脚本,以便一次只能显示一个popover.换句话说,当出于任何原因生成新的弹出窗口时(例如,客户端点击或悬停在带有弹出窗口的新元素上),所有先前显示的弹出窗口都将被隐藏.

这是最初为我的网页设置所有弹出窗口的功能:

$(function (){
    $("[rel=popover]").popover({placement:'left', trigger:'click', html:true});
});
Run Code Online (Sandbox Code Playgroud)

我认为,我需要的是编写一个隐藏所有弹出窗口的函数.我会在显示每个弹出框之前调用该函数,以确保一次只显示一个弹出窗口.我想这个函数看起来像这样:

function hidePopovers(){
    $(function (){
        $("[rel=popover]").popover('hide');
    });
}
Run Code Online (Sandbox Code Playgroud)

但我的问题是找出WHERE(或HOW)来调用这个hidePopovers函数.我想在触发弹出窗口时调用它,但是在显示弹出窗口之前.救命?

哦,只是为了消除任何困惑,新的Bootstrap现在有一个"点击"触发器,允许您在点击时显示弹出窗口.有关它的更多细节可以在这里找到.

非常感谢!

javascript jquery function popover twitter-bootstrap

3
推荐指数
1
解决办法
5378
查看次数