HTML表格可选行Javascript包

是否有一个Javascript包,通过单击它们并使用ShiftCtrl键使表行可选/可突出显示?

我正在寻找与iTunes或其他音乐播放器相同的function,它允许通过单击行突出显示一首歌曲或通过按住shift或控制并单击来突出显示多个。

没有插件就可以做到!

此示例通过按住Ctrlcmd (对于MacOS用户)Shift键盘键并单击来highlights row或多row

我建议避免使用插件来处理简单的事情。 您将看到,实现您需要实现的代码并不是很多代码。

现场演示: http //jsfiddle.net/oscarj24/ctLm8/2/


HTML:

假设我有下表(您将与行交互)。

 
Id Name Age Salary
1 Luis 28 $100,000
2 Oscar 29 $90,000
3 Daniel 18 $50,000

CSS:

现在我将创建一些CSS以在导航table时使用default cursor (仅用于样式,可以删除它) ,另一个用于highlight row

 tr { cursor: default; } .highlight { background: yellow; } 

jQuery的:

这是您需要的所有代码,请阅读评论。

 $(function() { /* Get all rows from your 'table' but not the first one * that includes headers. */ var rows = $('tr').not(':first'); /* Create 'click' event handler for rows */ rows.on('click', function(e) { /* Get current row */ var row = $(this); /* Check if 'Ctrl', 'cmd' or 'Shift' keyboard key was pressed * 'Ctrl' => is represented by 'e.ctrlKey' or 'e.metaKey' * 'Shift' => is represented by 'e.shiftKey' */ if ((e.ctrlKey || e.metaKey) || e.shiftKey) { /* If pressed highlight the other row that was clicked */ row.addClass('highlight'); } else { /* Otherwise just highlight one row and clean others */ rows.removeClass('highlight'); row.addClass('highlight'); } }); /* This 'event' is used just to avoid that the table text * gets selected (just for styling). * For example, when pressing 'Shift' keyboard key and clicking * (without this 'event') the text of the 'table' will be selected. * You can remove it if you want, I just tested this in * Chrome v30.0.1599.69 */ $(document).bind('selectstart dragstart', function(e) { e.preventDefault(); return false; }); }); 

最后,如果您坚持创建插件,可以查看此站点并根据需要自定义代码。

http://learn.jquery.com/plugins/basic-plugin-creation/

其他function只取决于你,我刚刚回答了你在问题中所要求的内容:-)希望这会有所帮助。

您可以使用jQuery UI进行选择 。

您可以按住Ctrl选择多个itens,也可以单击一个项目并拖动。

API参考 。

JS Bin示例 。