jQuery 1.9 .live() is not a function

jquery中的live()方法在jquery1.9及以上的版本中已被废弃了,如果使用,会抛出TypeError: $(...).live is not a function错误。

解决方法:

之前的用法:

.live(events, function)

新方法:

.on(eventType, selector, function)

若selector不需要,可传入null

例子1:

之前:

$(‘#mainmenu a‘).live(‘click‘, function)

之后:

$(‘#mainmenu‘).on(‘click‘, ‘a‘, function)

例子2:

之前:

$(‘.myButton‘).live(‘click‘, function)

之后(应使用距离myButton最近的节点):

$(‘#parentElement‘).on(‘click‘, ‘.myButton’, function)

若不知最近的节点,可使用如下的方法:

$(‘body‘).on(‘click‘, ‘.myButton’, function)

时间: 2024-10-25 03:53:19

jQuery 1.9 .live() is not a function的相关文章

jquery 添加方法 : $.fn.方法名 = function(参数a,b,c){

$.fn.image_checked = function(self,status,img_body,csrf_token){             $(this).live('click', function(){        var index = $(this).index()        var img_id = $('.'+self+' input').eq(index).val();                $.ajax({            type:'POST',

jQuery问题:$XXX is not a function

用火狐浏览器打开,js代码一段不执行,F12以后看见下面的错误: 网上查看说是jQuery文件引用的问题,把jQuery.js引入语句修改了一下,果然没有错了. 我原来的引用语句是:<script type="text/javascript" src="jquery.js"></script> 修改后的引用语句是:<script type="text/javascript" src="http://libs

jquery 报错 $.cookie is not a function()

jquery 报错 $.cookie is not a function() ——我是之前可以运行的项目,突然报这个错误,很奇怪. 这是jquery的cookie插件报错. 插件名: jquery.cookie.js 问题分析 因为之前可以,所以首先怀疑的是 cookie插件是不是更新了? 回答是:NO 去他的官网看,发现最新版的是2014年的,所以不存在是因为插件更新导致的问题. 百度查了可能造成这种报错的原因: 没有引入jQuery库文件: 因为之前可以用,所以早就已经引入进来了,肯定不是这

jquery的表单验证方法,一个function能不能同时捕捉点击事件和按键事件?能不能再优化下,有代码。

// 该jquery扩展引自 http://www.ghostsf.com/tools/389.html 方法名是作者博客的命名 $.fn.ghostsf_serialize = function () { var a = this.serializeArray(); var $radio = $('input[type=radio],input[type=checkbox]', this); var temp = {}; $.each($radio, function () { if (!te

jquery 无刷新上传的小function

function zll_up(click_id,up_url,text_id,show_id){ this.create = function(){} //当点击指定元素时,创建iframe form input(file)等元素 $("#"+click_id).click(function(){ console.log('click'); $("body").append("<form action='"+up_url+"'

jQuery源码06-jQuery = function(){};给JQ对象,添加一些方法和属性,extend : JQ的继承方法,jQuery.extend()

/*! * Includes Sizzle.js 选择器,独立的库 * http://sizzlejs.com/ */ (function( window, undefined ) { //"use strict"; var // rootjQuery = jQuery(document) = $();压缩有用 rootjQuery, // dom是否加载完 readyList, // core_strundefined == 'undefined' core_strundefined

jquery源码中的(function(window, undefined){})(window)【转】

(function( window, undefined ) {})(window);这个,为什么要将window和undefined作为参数传给它? (function( $, undefined ) {})(jQuery); 同理 因为 ecmascript 执行JS代码是从里到外,因此把全局变量window或jQuery对象传进来,就避免了到外层去寻找,提高效率.undefined在老一辈的浏览器是不被支持的,直接使用会报错,js框架要考虑到兼容性,因此增加一个形参undefined. 还

使用jQuery出现the function undefined

出现function undefined往往是相关的JS文件没有导入导致,在相关文件都导入的情况下,使用jQuery提供的方法还会出现function undefined错误,或许就是jQuery对象和DOM对象不能区分导致的. var jObj = $("#id"); //这样得到的是一个jQuery对象 var dObj = doucment.getElementById("id");//这样得到的是一个DOM对象 var findObj = dObj.find

(function($){})(jQuery)

匿名函数 function(arg){...} 这就定义了一个匿名函数,参数为arg.而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:(function(arg){...})(param) 这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数而(function($){...}) (jQuery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery 其实就等于:var fn = function