javascript通过shift+click选择和反选checkbox的代码
var lastChecked = null; var handleChecked = function(e) { if(lastChecked && e.shiftKey) { var i = $('input[type="checkbox"]').index(lastChecked); var j = $('input[type="checkbox"]').index(e.target); var checkboxes = []; if (j > i) { checkboxes = $('input[type="checkbox"]:gt('+ (i-1) +'):lt('+ (j-i) +')'); } else { checkboxes = $('input[type="checkbox"]:gt('+ j +'):lt('+ (i-j) +')'); } if (!$(e.target).is(':checked')) { $(checkboxes).removeAttr('checked'); } else { $(checkboxes).attr('checked', 'checked'); } } lastChecked = e.target; // Other click action code. } $('input[type=checkbox]').click(handleChecked);