Hope this helps
it will work fine as you want with hover on and off and when you click the img it will be selected and will stay there and hover affect will not work
and when you click the next img all the rest which are selected will be removed and the hover affect will work on that
EDIT ** Changed the code Try it now
$(function(){
$(".img-swap").hover(
function(){
if(!$(this).hasClass("selected")) {
this.src = this.src.replace("_off","_on");
}
},
function(){
if(!$(this).hasClass("selected")) {
this.src = this.src.replace("_on","_off");
}
}).click(function(){
$('.img-swap').removeClass('selected').attr('src',this.src.replace("_on","_off"));;
this.src = this.src.replace("_off","_on");
$(this).addClass("selected").attr('src',this.src.replace("_off","_on"));
});
});