Tag: firefox

Firefox jquery scrollTo flicker bug

我在这里看到了很多关于Firefox中闪烁的线程,但没有一个能够描述我遇到的问题。 我有一个水平滚动网站,固定位置菜单和jquery插件.scrollTo处理下一个和上一个按钮。 这在Chrome和Safari中很有效(不了解IE),但在Firefox中,每次向右滚动时都会出现闪烁,右上角有箭头。 请参见此处的示例 我已经尝试设置所有具有固定位置的元素溢出:auto但没有做任何事情。 我对JS或Jquery并不是很熟悉,但我知道改变它的东西。 任何帮助将不胜感激!

使用jQuery获取firefox中的自动计算边距

使用下面的标记和css,我试图获得计算的shell的左边距。 Welcome! .shell { zoom: 1; max-width: 1000px; margin-left: auto; margin-right: auto; padding-left: 16px; padding-right: 16px; } 运用 parseInt($(‘.shell’).css(‘marginLeft’)) 它适用于Chrome,Safari,IE9,但令人惊讶的是在Firefox中不起作用。 尝试了另一种方法: ($(‘.shell’).outerWidth(true) – $(‘.shell’).outerWidth()) / 2 同样适用但Firefox。 所以我猜火狐不支持用jQuery获取未定义的CSS? 解决这个问题的直接方法是: ($(‘.page-title’).width() – $(‘.shell’).outerWidth()) / 2 但我想知道是否有更好的方法。

记录了Firefox / jQuery / CSS动画的错误?

我正在编写一个使用jquery来切换CSS类的网站,这些类运行CSS动画。 在Google Chrome和Internet Explorer 9/10中,一切都运行良好,在Firefox(Aurora 24和Firefox 23)上不会执行动画,但其余的都可以使用。 因此,例如,如果我单击一个应该隐藏一个框并显示另一个框的按钮,则在Chrome上执行平滑过渡动画,在Firefox上执行没有平滑过渡。 奇怪的是,如果我通过控制台更改应该设置动画的CSS值,则动画可以正常工作。 该网站有大约10个同时运行的动画,但只有5个正常运行。 试图禁用最后(和较重)3动画可以解决问题。 所以也许这是一种不适合Firefox管理的超载……? 我不能提供一个JSFiddle,因为当我写一个它工作,所以不可能显示问题… 这是导致问题的代码部分: console.log(“3D Accelerated animation”); console.log(“oldpage = “+oldpage+”\npage = “+page+”\nnewpage = “+newpage); if(oldpage != newpage) eoldpage.removeClass(“active”); $(“.slider > li”).attr(“style”, “”).removeClass(“animation”); epage.css({“transform”: “translate3d(0, 0, 0)”}); enewpage .css({“transform”: “translate3d(” + pagew * db + “px, 0, 0)”}) .addClass(“active”); eboth.addClass(“animation”); enewpage.children(“section”).load(‘/pages/’ + newpage + “.php?lang=” + […]

禁用然后重新启用click function jQuery

我有一个文件上传系统,点击上传按钮后,文件将通过AJAX上传。 上传文件时,我想禁用“选择图像”按钮上的单击function。 目前这是文件选择按钮上的单击function: $(document).ready(function() { $(“#file-button”).click(function() { $(‘#file’).trigger(‘click’); }); }); 这工作正常,但我想在XmlHttpRequest的进度阶段禁用click函数,然后当我从服务器得到200响应时重新启用click函数。 我已经尝试过bind()和unbind() ,它在Chrome中工作正常,但在firefox中,在上传过程中,无法点击按钮,这就是我想要的,然后在我从服务器得到响应之后按钮是重新启用,但在firefox中两个文件选择对话窗口同时打开。 这是因为上面的函数,我使用bind()再次bind()函数。 有没有人对如何启用有任何建议,然后禁用该按钮而不重新输入click事件的代码(function)。 这样的事情会更好: $(‘#file-button’).disable(); $(‘#file-button’).enable(); 我已经尝试过on()和off() ,但它们似乎也没有用。

在Firefox中未发送Ajax请求未知错误

在Firefox 27.0.1,Fedora 20,jQuery 1.11.0中执行此GET同步ajax请求时: $.ajax(ajaxParam).then( function (r) { html = r.html; }, function (jqXHR) { console.log(JSON.stringify([jqXHR, $.ajaxSettings, ajaxParam], null, 4)); } ); 它适用于Linux的Chrome 33.0.1750.146但在Firefox中没有请求发送到服务器并且它出错: [ { “readyState”: 0, “status”: 0, “statusText”: “[Exception… \”\” nsresult: \”0x805e0006 ()\” location: \”JS frame :: http://example.com/static/jquery-1.11.0.min.js :: .send :: line 4\” data: no]” }, { “url”: “http://example.com/pt/BR”, “type”: “GET”, “isLocal”: […]

在Firefox中访问全局事件对象

目标:在.ajaxStart()上运行一些函数,但仅限于某个事件触发。 代码: $(‘#loading_indicator’).ajaxStart(function() { if(event != null){ if(event.type == ‘hashchange’ || event.type == ‘DOMContentLoaded’){ $(this).show(); $(‘#acontents’).hide(); $(this).ajaxComplete(function() { $(this).hide(); $(‘#acontents’).show(); bindClickOnTable(); initFilterInput(); }); } } }); 问题:这在Firefox中不起作用。 在Internet Explorer和Chrome中,我可以愉快地访问事件对象而不将其传递给.ajaxStart(function() 。但是在Firefox中,事件对象是undefined 。 明显但不正确的解决方案:将event对象传递给函数。 这将无法工作,因为它将传递ajaxStart事件,我的检查将不再起作用。 问题:如何在此函数中访问全局事件对象?

Firefox innerHTML Bug?

我有一个简单的HTML Skills 在Firefox 3.6.3中我调用(使用JQuery): $(“#skills”)[0].innerHTML = “some new text” Firefox将其呈现为 some new text 世界上哪个地方的链接来自?? (请注意,使用JQuery调用$(“#skills”).html(“some new text”)会发生同样的事情)

jQuery与XML命名空间的区别以及Opera和Firefox之间的xhr.responseXML

考虑一下: XML-problem $(function() { $(”).load(“text.xml”, function(responseText, textStatus, xhr) { var xml = $(xhr.responseXML); var x_txt = xml.find(‘atom\\:x’).text(); $(this).text(x_txt).appendTo(‘#container’); }); }); 加载文档时,此脚本应加载text.xml。 text.xml看起来像这样: Text 加载此文件后, atom:x -node的文本内容将附加到文档中。 我可以在浏览器窗口中看到“文本”。 这在Firefox中可以正常工作。 但是,除非我将查询从’atom\\:x’更改为’atom\\:x’ ,否则它在Opera中不起作用。 在这种情况下,它适用于Opera,但不适用于Firefox。 我发现了一种解决方法,即将查询更改为’atom\\:x, x’ ,但我更愿意深入研究。 现在有趣的转折:我可以直接内联xml而不是通过更改从XHR获取它 var xml = $(xhr.responseXML); 成 var xml = $(‘Text’); 在这种情况下, ‘atom\\:x’的查询将在两个浏览器中提供所需的结果,而’x’将在两个浏览器中都不会产生任何结果。 事实上,这在Opera中的工作方式不同,这让我得出结论,前者的行为是Opera中的一个错误。 这是一个合理的结论吗? 我在哪里可以指出描述它应该如何工作的标准? 结论: 这个问题的替代解决办法有哪些? 有没有比我找到的更好? 这是Opera中的一个错误吗? 如果是的话,哪个标准是这样说的? 希望你能帮忙:)

jQuery getScript问题

虽然看起来很多人似乎在Stack Overflow上遇到了麻烦,但我还是看到了它出错的原因( 1,2,3 ) 我的代码(用于测试目的): jQuery.getScript(“res/fader.js”, function () { alert(“loaded”); }); 在Chrome(16)中完美运行。 在Firefox(11)中,firebug控制台显示了所请求的脚本和预期的响应(包括application / javascript的mimetype)。 但没有警报。 没错。 没有。 如果我随后尝试在脚本中引用应该加载的内容,它仍然是未定义的(这是在onload事件之后几秒钟,并且在控制台显示脚本已被检索之后)。 更新 我正在使用jQuery 1.9.1

preventDefault()不能处理Firefox 9.0.1中的SELECT元素

我意识到还有其他一些关于preventDefault()无法使用Firefox的问题,但是他们没有帮助我。 我有三个SELECT列表,我想要的是使用箭头键在它们之间导航而不更改任何值 。 该代码在Chrome中运行良好,但在Firefox中,它会移动焦点,然后更改刚刚移动到的元素的值。 JavaScript的: $(document).ready(function () { $(‘.myinput’).keydown(function (evt) { onkeydown(evt); }); $(‘.myinput:first’).focus(); }); function onkeydown(evt) { evt.preventDefault(); console.log(evt.which); if(evt.which == 39) { $(document.activeElement).next().focus(); } else if(evt.which == 37) { $(document.activeElement).prev().focus(); } } HTML: One Two Three One Two Three One Two Three