Jquery .show() 在 Firefox 中不起作用

标签 jquery firefox show

我在 Firefox 中使用 jquery show 函数时遇到问题。

情况: 我已经在弹出窗口(fancybox)中加载了带有 aspx 页面的 iframe。在该 aspx 页面中,我有一个带有 onclick 事件的按钮,该事件调用自定义函数,并在该函数中触发 div 上的 .show() 函数。该 div 有一个样式元素,其中包含:display:none;。

这适用于 IE、Safari、Chrome。当我独立加载 aspx 页面时,这甚至可以在 Firefox 中工作。它在 Firefox 中的 fancybox-iframe 弹出窗口中不起作用。我没有收到任何 JavaScript 错误。即使 display:none 也从 style 属性中删除,但 div 没有显示。

页面中的 html

<div class="popupWrapper">
  ..some elements
  <div id="psharebutton" style="display:none;"> 
   ..content of the div
  </div>
</div>

JavaScript 代码:

function dolinkedin(url, title, summary, source) {
        $(".smbutton").addClass("buttonDisabled");
        $("#linklinkedin").removeClass("buttonDisabled");
        $("#psharebutton").show();

        parent.sizeFancybox();
    }

触发弹出窗口的按钮是一个 anchor ,它具有 fancyboxiframe 类。 Fancybox会自动生成用于显示弹出窗口的js代码。

我已经检查了这些主题:

我已经检查了我的 html 是否有效,确实如此。

有什么想法吗?

BHD

最佳答案

我遇到了类似的问题,我的解决方案是这样做

$("#psharebutton").css("display", "inline-block");

而不是

$("#psharebutton").show();

jquery“show”与将显示样式属性设置为“block”相同。我发现我需要 firefox 和 chrome 的“inline-block”(IE 不需要这个)。我相信(但尚未证实)jquery 足够聪明,可以知道以前的显示值是什么并使用它,但就我而言,我一开始将显示设置为“无”,因此没有以前的值。

关于Jquery .show() 在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7267634/

相关文章:

javascript - 发送 AJAX 请求不适用于所有页面

javascript - 在 jquery 中链接未知函数/方法

jQuery 的多重选择器 + find() 与 Children()

javascript - 脚本不适用于 FF

firefox - 在 Mozilla Firefox 样式编辑器中退出 vim 插入模式

java - 如何在等待结束过程时真正显示 ProgressDialog

javascript - Snap SVG 拖动和缩放 : My rectangle won't stop scaling?

iPhone SSL 网站证书警告

android - 如何在Android中打印带有两位小数的 double ?

function - 如何在 Haskell 中打印自定义数据类型的名称和值