Can anyone help me to figure this out ?
When I use the latest (or a newish) version of jQuery, the small script below works fine. However, when I use older versions of jQuery, my script says that the on
function does not exist.
Here is my script that doesn't work with older versions of jQuery:
$(document).ready(function () {
$(".theImage").on("click", function(){
// In the event clicked, find image, fade slowly to .01 opacity
$(this).find("img").fadeTo("slow", .01).end()
// Then, of siblings, find all images and fade slowly to 100% opacity
.siblings().find("img").fadeTo("slow", 1);
})
})
Any kind of help is appreciated.
You must use bind
instead of on
, as on
was only introduced in jQuery 1.7.
$(document).ready(function () {
$(".theImage").bind("click", function(){
// In the event clicked, find image, fade slowly to .01 opacity
$(this).find("img").fadeTo("slow", .01).end()
// Then, of siblings, find all images and fade slowly to 100% opacity
.siblings().find("img").fadeTo("slow", 1);
})
})
You could use delegate()
, for example:
$("table").delegate("td", "click", function() {
$(this).toggleClass("chosen");
});
This is equivalent to the following code written using on()
:
$("table").on("click", "td", function() {
$(this).toggleClass("chosen");
});
You must use jQuery version 1.7+ to use on()
. bind()
is deprecated.
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