Tag: jquery 1.8

jQuery live()适用于jQuery 1.8.3及以下版本,但不适用于1.9.1或2.0版本

我一直在使用http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js一段时间了,一切都很好,但1.8.3已经老了所以我’我们决定转向最新的jQuery。 突然有一些事情停止了工作: Quicksand插件和我自己的jQuery代码的一部分(在滑块的每个幻灯片下显示其他数据)。 你能帮我弄清楚什么是错的吗? 或者也许不值得转移到1.8.3以上的jQuery版本? 检查Jsfiddle。 HTML: SHOW SHOW First paragraph. Second paragraph JS: jQuery(“.show”).live(“click”, function (e) { var slide = ‘#’ + jQuery(this).data(‘show’); jQuery(slide).slideToggle(); e.preventDefault(); }); CSS: div { display: none; } 这是一个有用的jsfiddle: http : //jsfiddle.net/ABrna/ 尝试将jQuery更改为1.9.1或2.0并点击Run。 脚本停止工作。 为什么?

当我试图在动态加载的元素上触发点击事件时,我在jQuery 1.8中不断收到错误“Object# on’on’

我正在使用jQuery 1.8,并且在使用.on()函数时在某些页面上出现此错误。 其他页面,似乎做同样的事情 – 将触发器附加到动态创建的元素,我使用不会生成此错误: Uncaught TypeError: Object # has no method ‘on’ JS: $(document).ready(function(){ $(document).on(“click”,”button.pagebutton”,function() { $(“div#pagesforreview”).hide(); jsD=Date(); jsP=$(this).html(); $(“div#externpage”).load(“prexternpage.php”,{d:jsD,p:jsP},function() { $(“div#externpage”).show(); $(“div#pageactions”).show(); jsNc=1; $(“div#pagecomments”).load(“praddcomment.php”,{d:jsD,nc:jsNc},function() { $(“div#pagecomments”).show(); }); }); }); }); 所有动态生成的“页面按钮”按钮都不会触发。 并且出现错误。 如果我使用不推荐使用的.live()方法,则没有问题。 但是如果可能的话,我更喜欢使用适当的新1.8非弃用方法?

如何将jQuery 1.8.3中的“live”替换为jQuery 1.9?

我的Web框架自动将我的jQuery脚本更新为当前的最新版本1.9。 现在我的全部: $(“.myclass”).live(“click”, function() {… 不再工作了。 我主要使用它与一些在我的页面中填充html的ajax。 我会知道如何在上一版本中替换此function。 一位朋友告诉我改为使用“on”,但“on”仍然固定在同一个元素上。 解释,在这个例子中(没有ajax),我使用“+”图标来显示“ul li list”。 $(“.closed”).live(‘click’, function(){ $(“#ul_list_”+$(this).attr(‘id’)).addClass(“displayed”).removeClass(“hidden”).show(); $(this).addClass(“openned”).removeClass(‘closed’); $(this).html(”); }); $(“.openned”).live(‘click’, function(){ $(“#ul_list_”+$(this).attr(‘id’)).addClass(“hidden”).removeClass(“displayed”).hide(); $(this).addClass(“closed”).removeClass(‘openned’); $(this).html(”); }); (我知道脚本不是最优化的,但它确实有效。我使用类来打开或关闭我的列表。如果访问者没有启用JS,则不会隐藏任何内容,所有折叠列表都会打开) 笔记: 我试过https://github.com/jquery/jquery-migrate ,但我唯一的消息是“JQMIGRATE:jQuery.fn.live()已被弃用”,而不是如何修复它。

jQuery 1.8外部高度/宽度不起作用

我在很多地方使用了outerHeight和outerWidth 。 现在,在jQuery 1.8发布之后,我遇到了很多由对象返回而不是它的大小引起的问题。 例如: $(‘#stackoverflowdiv’).Height() // returns 100 px $(‘#stackoverflowdiv’).outerHeight() // returns “stackoverflowdiv” div 我发现解决这个问题的唯一方法就是在函数中使用“true / false”,如下所示,但我得到的结果与标准的width()和height()函数相同: $(‘#stackoverflowdiv’).outerHeight(true) // returns 100 px $(‘#stackoverflowdiv’).outerHeight(false) // returns 100 px 有谁知道为什么这不再工作或以其他方式获得元素的高度/宽度+其边距。 编辑:我开始相信这是因为我使用contents()函数在iframe中选择元素。 我会尝试做一个演示。

不推荐使用jQuery .toggle事件,该怎么用?

由于不推荐使用jQuery .toggle事件方法。 我们用什么来模拟这个事件(备用点击)?

jQuery 1.8:不支持的伪:hover

下面的代码在jQuery 1.8上引发了错误unsupported pseudo: hover ,而它在jQuery 1.7.2上工作得很好: if(!$(this).parent().find(‘ul’).first().is(‘:hover’)) { $(this).parent().parent().removeClass(‘open’); } 有谁知道发生了什么?