Next/prev navigation keyboard shortcuts

master
Nick Sergeant 2012-01-15 23:05:54 -05:00
parent 4ad8831b86
commit 9fef91aadd
5 changed files with 58 additions and 34 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -30,9 +30,10 @@
keyboardShortcuts: function() { keyboardShortcuts: function() {
$search_query = this.$search_query; $search_query = this.$search_query;
$document = $(document);
// Search // Search
$(document).bind('keydown', '/', function(e) { $document.bind('keydown', '/', function(e) {
e.preventDefault(); e.preventDefault();
$search_query.focus(); $search_query.focus();
}); });

View File

@ -110,46 +110,57 @@
keyboardShortcuts: function() { keyboardShortcuts: function() {
$selected = window.selected; $selected = window.selected;
$snipts = this.$snipts; $document = $(document);
$el = this.$el;
$(document).bind('keydown', 'c', function() { $document.bind('keydown', 'c', function() {
if ($selected) { if ($selected) {
$selected.trigger('copy'); $selected.trigger('copy');
} }
}); });
$(document).bind('keydown', 'e', function() { $document.bind('keydown', 'e', function() {
if ($selected) { if ($selected) {
if ($selected.hasClass('expandable')) { if ($selected.hasClass('expandable')) {
$selected.trigger('expand'); $selected.trigger('expand');
} }
} }
}); });
$(document).bind('keydown', 'esc', function() { $document.bind('keydown', 'esc', function() {
if ($selected) { if ($selected) {
$selected.trigger('deselect'); $selected.trigger('deselect');
} }
}); });
$(document).bind('keydown', 'j', function() { $document.bind('keydown', 'j', function() {
if (!$selected) { if (!$selected) {
$snipts.eq(0).trigger('select'); SniptList.$snipts.eq(0).trigger('select');
} else { } else {
$selected.trigger('next'); $selected.trigger('next');
} }
}); });
$(document).bind('keydown', 'k', function() { $document.bind('keydown', 'k', function() {
if (!$selected) { if (!$selected) {
$snipts.eq(0).trigger('select'); SniptList.$snipts.eq(0).trigger('select');
} else { } else {
$selected.trigger('prev'); $selected.trigger('prev');
} }
}); });
$(document).bind('keydown', 'o', function(e) { $document.bind('keydown', 'n', function() {
var $anc = $('li.next a');
if ($anc.attr('href') !== '#') {
window.location = $anc.attr('href');
}
});
$document.bind('keydown', 'o', function() {
if ($selected) { if ($selected) {
$selected.trigger('detail'); $selected.trigger('detail');
} }
}); });
$(document).bind('keydown', 'return', function(e) { $document.bind('keydown', 'p', function() {
var $anc = $('li.prev a');
if ($anc.attr('href') !== '#') {
window.location = $anc.attr('href');
}
});
$document.bind('keydown', 'return', function() {
if ($selected) { if ($selected) {
$selected.trigger('detail'); $selected.trigger('detail');
} }

View File

@ -4,7 +4,7 @@
<ul> <ul>
{% if page_obj.has_previous %} {% if page_obj.has_previous %}
<li class="prev"> <li class="prev">
<a href="?page={{ page_obj.previous_page_number }}{{ getvars }}">&larr;</a> <a id="prev-page" href="?page={{ page_obj.previous_page_number }}{{ getvars }}">&larr;</a>
</li> </li>
{% else %} {% else %}
<li class="disabled prev"> <li class="disabled prev">
@ -30,7 +30,7 @@
{% endfor %} {% endfor %}
{% if page_obj.has_next %} {% if page_obj.has_next %}
<li class="next"> <li class="next">
<a href="?page={{ page_obj.next_page_number }}{{ getvars }}">&rarr;</a> <a id="next-page" href="?page={{ page_obj.next_page_number }}{{ getvars }}">&rarr;</a>
</li> </li>
{% else %} {% else %}
<li class="disabled next"> <li class="disabled next">