有时我们的表单在表格列中有很多复选框。用户必须检查一堆(但不是全部)。
通常我认为,如果您可以单击并拖动复选框,只需轻扫一下即可选择您想要的复选框。
我以前没有见过这个实现。有人对这样的东西的可用性有意见吗?
有没有人见过可以启用此功能的 jquery 插件?
这是我的答案,这归功于 Trufa 和 Tats 让球滚动:http: //jsfiddle.net/ebStc/7/
这是一个插件:
$.fn.swipeable = function() {
var mousedownOn = {
id: '',
checkState: false
};
$(document)
.mouseup(function() {
mousedownOn.id = '';
});
$(this)
.filter(':checkbox')
.mousedown(function() {
var $this = $(this);
mousedownOn.id = $this.attr('id');
mousedownOn.checkState = $this.prop('checked');
$this.prop('checked',!$this.prop('checked'));
$this.change();
})
.mouseenter(function() {
var $this = $(this);
if (mousedownOn.id != '' && mousedownOn.id != $this.attr('id')){
$this.prop('checked',!mousedownOn.checkState);
$this.change();
}
})
.click(function(e) {
e.preventDefault();
return false;
});
};
喜欢这个人吗?http://jsfiddle.net/ebStc/3/ 或 http://jsfiddle.net/ebStc/2/
如果这有帮助,请告诉我,或者我很乐意删除这篇文章。
希望对事业有所帮助。
当您拖动鼠标指针时,它将被选中,如果再次拖动,它将取消选择:)
代码
$('input[type="checkbox"]').mouseenter(function() {
if ($(this).is(':checked')) {
$(this).prop('checked',false);
} else {
$(this).prop('checked',true);
}
});