jquery - 如果与 Prototype JS 一起使用,Popover 会隐藏父元素

标签 jquery twitter-bootstrap prototypejs popover

更新到 bootstrap 2.3.0 后,我注意到弹出工具提示的奇怪行为。

如果您输入该字段并尝试离开,工具提示将消失并隐藏输入字段。此问题仅在最新版本的 bootstrap 中出现,不确定到底更改了什么,但 2.2.2 与 Prototype 配合良好。

jQuery.noConflict();
jQuery('input[data-content]').popover({
    trigger: 'focus'
});

这是工作示例:http://jsfiddle.net/U6EDs/4/

最佳答案

此 github 问题 https://github.com/twitter/bootstrap/issues/6921描述你所看到的。我正在复制问题中的信息。

bootstrap-tooltip.js 中的这些行导致了问题:

  , hide: function () {
  var that = this
    , $tip = this.tip()
    , e = $.Event('hide')   ///this line

  this.$element.trigger(e)  /// this line
  if (e.isDefaultPrevented()) return //and this line 

PrototypeJS 向 Element 原型(prototype)添加了方法,因此当 jQuery 尝试触发元素上的 hide() 方法时,它实际上触发了 PrototypeJS hide() 方法,该方法相当于 jQuery hide() 方法,将元素的样式设置为 display:none;

你有几个选择

  1. 删除js文件中上面标记的行
  2. 将事件重命名为其他名称(而不是隐藏)
  3. 使用 BootStrap 的 PrototypeJS 分支(当前适用于 2.3.2)

http://github.com/jwestbrook/bootstrap-prototype

*****免责声明***

我是目前正在将 BootStrap JS 组件移植到 PrototypeJS 的开发人员

关于jquery - 如果与 Prototype JS 一起使用,Popover 会隐藏父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15087129/

相关文章:

jquery - 原型(prototype)/JQuery 与 Grails formRemote 的混合

jquery - 有谁知道如何在 jQuery slider 中获取低不透明度的上一张和下一张图像?

javascript - 如何在 IF 语句中引用被点击的元素

javascript - 如何获取只有一个类的 tr 的内容

css - 如何在 Bootstrap 中为响应式表格着色?

javascript - 如何将 Bootstrap btn-group 与 HTML 表单结合起来?

javascript - Jquery:具有相同父类和子类的子 div 的不同宽度,基于子 div 的数量

html - 元素与自定义 Bootstrap Header 重叠,使用带有自定义 CSS 的默认按钮和图像作为 Logo

javascript - jQuery ajaxComplete() 是否检测到 prototypejs ajax 调用?

javascript - IE8 拒绝将样式表应用于 dom 创建的元素