Быстрое выделение checkbox'ов по onMouseOver
3 Июль 2007
После того как Snook опубликовал концепцию скрипта где пользователь может кликнуть на checkbox и удерживая кнопку мыши, двигать курсор по другим checkbox'ам и выделять их. Я захотел себе такой плагин под jQuery, но что-то никто его писать не захотел, и мне пришлось написать его самому. Вот что из этого получилось:
jQuery.fn.extend({
toggler : function(params){
var toggler = {
version : 1.1,
undo : false,
started : false,
first : false,
elements : null,
init : function (elements, undo){
this.elements = elements;
this.undo = !!undo;
this.elements.bind("mousedown", this, this.down)
this.elements.bind("mouseover", this, this.over)
this.elements.bind("click", this, this.click)
jQuery(document.body).bind("mouseup", this, this.up);
},
down : function (event){
event.data.started = true;
event.data.first = !this.checked;
event.data.check(this,!this.checked)
},
over : function(event){
if (event.data.started)
if (event.data.undo)
event.data.check(this,!this.checked);
else
event.data.check(this,event.data.first);
},
click : function(event){
event.data.check(this,event.data.first);
event.data.started = false;
},
check : function(elt,cond){
var e = jQuery(elt);
if(cond)
e.attr({checked:"checked"});
else
e.removeAttr("checked");
},
up : function (event){
event.data.started = false;
}
}
toggler.init(this,params);
return this;
}
});
Запускается это все так
jQuery(document).ready(function($){
$(':checkbox').toggler(true);
});
Свежие комментарии