Tag: 跨浏览器

在Internet Explorer(IE)中未触发的jquery更改事件

好的我知道还有其他与我有关的问题,但我没有读过我的问题。 我有一个select标签,其中包含一些我更改事件的选项,但是当用户点击一个选择框然后按下向上/向下时,更改事件不会在IE中触发。 它在Firefox中启动,我还没有检查过Chrome。 所以我想我想知道是否有一个简单的解决方案,我想这样做 $(“#selector”).change(function () {//Add code }); 我现在的解决方法是这样做: $(“#selector”).bind(‘change keyup’,function () {//Add code }); 我想我可以像这样创建一个插件: $.fn.myChange = function (fcn) { return this.bind(‘change keyup’,fcn);} 我的主要想法是jquery作为一个库应该抽象掉浏览器(in)兼容性的丑陋细节,所以我更喜欢我仍然可以使用base .change函数而不必担心我在使用什么浏览器。 我只是想知道这是不是应该这样做。 有更好的方法吗? 更新 : 我向jquery团队提交了一个错误 ,看看他们的想法。 这是一个显示问题的示例 。 打开它,点击进入选择框,然后按向上/向下键。 您会注意到,IE和Chrome不会触发更改事件。

如何让这个HTML5全屏function在Firefox中运行?

我想要一个按钮,使用HTML5全屏API触发全屏模式。 我在网上点了一些示例来获取下面的代码,但它仅适用于Safari / Chrome,因为它是特定于webkit的前缀。 我想使用moz前缀(以及标准HTML5)也可以在Firefox中使用,但我不知道如何去做。 任何建议? HTML: Exit/enter fullscreen mode JS: $(‘.fullscreen’).on(‘click’, function(){ var elem = document.getElementById(‘viewer’); if (document.webkitFullscreenElement) { document.webkitCancelFullScreen(); } else { elem.webkitRequestFullScreen(); }; });

jQuery:nth-​​child不在IE中工作

我正在使用此代码 $(‘.list-item:nth-child(5n)’).after(”) 这在Firefox和Chrome中运行良好,但在IE8,IE9中无效…

使用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 但我想知道是否有更好的方法。

DOMNodeInserted在IE中

为什么这段代码不适用于IE? 请帮忙解决它: jQuery(‘body’).live(‘DOMNodeInserted’,function(e){ var parent = jQuery(e.target).parent(); parent.find(“a”).css(‘color’,’#AA62C6′); parent.find(‘a’).removeAttr(‘onmousedown’); });

使用跨浏览器支持的jQuery更改类型

问题 以下脚本完全符合我的要求,在除IE8之外的所有测试的浏览器中,它删除按钮而不用任何替换它。 背景 我一直在研究一种方法,用jQuery替换提交类型输入和图像类型输入。 首先,我有以下内容适用于FF和webkit: marker = jQuery(”).insertBefore(‘input#SearchButton’); jQuery(‘input#SearchButton’).detach().attr(‘type’, ‘image’).attr(‘src’,theme_folder+’/style/images/search_button.png’).insertAfter(marker); marker.remove(); 但是,如果IE(它删除按钮,但不替换为图像),所有6个版本都会失败,所以我为IE浏览器开发了以下脚本: marker = jQuery(”).insertBefore(‘input#SearchButton’); new_search = jQuery(”) jQuery(new_search).insertAfter(‘input#SearchButton’); jQuery(‘input#SearchButton’).remove(); marker.remove(); 我正在使用HTML Conditionals来过滤到适当脚本的流量,所以整个事情看起来像这样: marker = jQuery(”).insertBefore(‘input#SearchButton’); jQuery(‘input#SearchButton’).detach().attr(‘type’, ‘image’).attr(‘src’,theme_folder+’/style/images/search_button.png’).insertAfter(marker); marker.remove();

与e.parentNode.parentNode.childNodes .innerText的Jquery等效/浏览器兼容性;

我正在使用以下代码段来更新表中的某些文本框值。 ProjectName Block .WorkProgressMilestone Completion Edit .. function EditWorkDetails(e) { document.getElementById(“txtCompletion”).value = e.parentNode.parentNode.childNodes[3].innerText; } 它在IE中适用于我,但在其他浏览器(Chrome)中无效。 值得注意的是,表’td’和’tr’没有Id属性来区分对方。 所以我不能在这里使用jquery。 我可以遵循的替代方案是使其适用于所有浏览器。

JQuery的Ajax函数在chrome中运行,但在firefox中返回404

我正在使用中央ajax函数将ajax Post请求发送到服务器。 这是函数的代码: function postJson(url, jsObj, whenSuccess, whenError){ $.ajax({ type: “post”, headers: { “Accept”: “application/json, text/javascript, */*; q=0.01”, “Content-Type”: “application/json, text/javascript, */*; q=0.01” }, dataType: “json”, url: url, data: JSON.stringify(jsObj), success: function(result){ if(whenSuccess !== undefined){ whenSuccess(result); } }, error: function(xhr){ if(whenError !== undefined){ whenError(xhr.status); } } }); } 当我尝试运行我的应用程序时,它在chrome中工作正常,但在firefox中它会抛出404.当接受或内容类型未设置为JSON时,我的REST服务助手返回404 …所以我认为firefox可能不会添加标题但是当我查看发送的请求时: Request URL: http://localhost:9081/api/1/localize/validation.json Request Method: […]

IE中的隐藏字段被视为禁用?

通过下面的示例页面,我得到的IE输出与其他浏览器不同。 hidden fields test $(function() { var inputs = $(“form input:enabled”); var concatenated = ”; inputs.each(function() { concatenated = concatenated + $(this).val(); }); alert(concatenated); }); 使用IE 8(8.0.7600.16385),输出为“text1text2”,Chrome(10.0.648.127)和Firefox(3.6.13)为“hidden1hidden2text1text2”。 这对我来说意外。 这是IE或jQuery中的错误,还是jQuery不能解决的浏览器的预期差异? IE中的隐藏字段是否总是带有隐含的“禁用”?

获取DIV宽度和高度的跨浏览器方法?

这是我的第一篇文章,所以请放轻松我。 我确定我做错了什么。 但是,我找不到任何回答上述问题的post。 我使用jQuery。 我正试图找到一种方法来获取DIV元素的当前宽度和高度,即使它们被设置为“自动”。 我发现了很多方法,但没有方法在IE中返回相同的宽度。 这个方法是跨浏览器很重要,因为如果在不同的浏览器中返回不同的数字,它将破坏页面的布局。 .width()和.height()不起作用,因为在IE中,减去了填充(例如,width()返回25,其中宽度为30,填充为5)。 .outerWidth()和.outerHeight()也不一致。 当他们在FF中工作IE(信不信由你)时,填充再次添加到整个宽度(例如,outerWidth()在FF中返回110,其中宽度为100px,填充为10px)。 没有编写复杂的浏览器检查,有没有办法解决这个问题? 谢谢!