There is no live()
function in jquery 1.9.0, but jquery.unobtrusive.ajax.js is already use this function.
Should I use older version of jquery or another way?
jQuery live() Method The live() method attaches one or more event handlers for selected elements, and specifies a function to run when the events occur. Event handlers attached using the live() method will work for both current and FUTURE elements matching the selector (like a new element created by a script).
Depreciated as of 1.7 and removed as of 1.9. Use on()
instead.
http://api.jquery.com/on/
$("#myButton").on("click", function(){
alert("Clicked");
});
Lots of good info here:
http://www.elijahmanor.com/2012/02/differences-between-jquery-bind-vs-live.html
As for Unobtrusive Ajax, you will need to include a version of jQuery prior to v1.9 where live()
still exists.
If you are referencing the MS CDN,
http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.js http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.min.js
then it does not appear that these directly reference jQuery. Simply include the 1.8 version in your code instead of the 1.9 version.
.live()
has been replaced with the event delegation syntax of .on()
:
$('#parent').on('click', '.child', function() {
...
});
#parent
should exist when you call your selector, so if your element is top-level, use document
as the parent.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With