jQuery 1.12使用中出现错误 .live() is not a function

60 2018-11-23 10:35

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)