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() {
$search_query = this.$search_query;
$document = $(document);
// Search
$(document).bind('keydown', '/', function(e) {
$document.bind('keydown', '/', function(e) {
e.preventDefault();
$search_query.focus();
});

View File

@ -110,46 +110,57 @@
keyboardShortcuts: function() {
$selected = window.selected;
$snipts = this.$snipts;
$el = this.$el;
$document = $(document);
$(document).bind('keydown', 'c', function() {
$document.bind('keydown', 'c', function() {
if ($selected) {
$selected.trigger('copy');
}
});
$(document).bind('keydown', 'e', function() {
$document.bind('keydown', 'e', function() {
if ($selected) {
if ($selected.hasClass('expandable')) {
$selected.trigger('expand');
}
}
});
$(document).bind('keydown', 'esc', function() {
$document.bind('keydown', 'esc', function() {
if ($selected) {
$selected.trigger('deselect');
}
});
$(document).bind('keydown', 'j', function() {
$document.bind('keydown', 'j', function() {
if (!$selected) {
$snipts.eq(0).trigger('select');
SniptList.$snipts.eq(0).trigger('select');
} else {
$selected.trigger('next');
}
});
$(document).bind('keydown', 'k', function() {
$document.bind('keydown', 'k', function() {
if (!$selected) {
$snipts.eq(0).trigger('select');
SniptList.$snipts.eq(0).trigger('select');
} else {
$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) {
$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) {
$selected.trigger('detail');
}

View File

@ -4,7 +4,7 @@
<ul>
{% if page_obj.has_previous %}
<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>
{% else %}
<li class="disabled prev">
@ -30,7 +30,7 @@
{% endfor %}
{% if page_obj.has_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>
{% else %}
<li class="disabled next">