You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
3.5 KiB
JavaScript
102 lines
3.5 KiB
JavaScript
3 years ago
|
(function (global, factory) {
|
||
|
if (typeof define === "function" && define.amd) {
|
||
|
define([], factory);
|
||
|
} else if (typeof exports !== "undefined") {
|
||
|
factory();
|
||
|
} else {
|
||
|
var mod = {
|
||
|
exports: {}
|
||
|
};
|
||
|
factory();
|
||
|
global.bootstrapTableKeyEvents = mod.exports;
|
||
|
}
|
||
|
})(this, function () {
|
||
|
'use strict';
|
||
|
|
||
|
/**
|
||
|
* @author: Dennis Hernández
|
||
|
* @webSite: http://djhvscf.github.io/Blog
|
||
|
* @version: v1.0.0
|
||
|
*
|
||
|
* @update zhixin wen <wenzhixin2010@gmail.com>
|
||
|
*/
|
||
|
|
||
|
!function ($) {
|
||
|
|
||
|
'use strict';
|
||
|
|
||
|
$.extend($.fn.bootstrapTable.defaults, {
|
||
|
keyEvents: false
|
||
|
});
|
||
|
|
||
|
var BootstrapTable = $.fn.bootstrapTable.Constructor,
|
||
|
_init = BootstrapTable.prototype.init;
|
||
|
|
||
|
BootstrapTable.prototype.init = function () {
|
||
|
_init.apply(this, Array.prototype.slice.apply(arguments));
|
||
|
this.initKeyEvents();
|
||
|
};
|
||
|
|
||
|
BootstrapTable.prototype.initKeyEvents = function () {
|
||
|
if (this.options.keyEvents) {
|
||
|
var that = this;
|
||
|
|
||
|
$(document).off('keydown').on('keydown', function (e) {
|
||
|
var $search = that.$toolbar.find('.search input'),
|
||
|
$refresh = that.$toolbar.find('button[name="refresh"]'),
|
||
|
$toggle = that.$toolbar.find('button[name="toggle"]'),
|
||
|
$paginationSwitch = that.$toolbar.find('button[name="paginationSwitch"]');
|
||
|
|
||
|
if (document.activeElement === $search.get(0) || !$.contains(document.activeElement, that.$toolbar.get(0))) {
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
switch (e.keyCode) {
|
||
|
case 83:
|
||
|
//s
|
||
|
if (!that.options.search) {
|
||
|
return;
|
||
|
}
|
||
|
$search.focus();
|
||
|
return false;
|
||
|
case 82:
|
||
|
//r
|
||
|
if (!that.options.showRefresh) {
|
||
|
return;
|
||
|
}
|
||
|
$refresh.click();
|
||
|
return false;
|
||
|
case 84:
|
||
|
//t
|
||
|
if (!that.options.showToggle) {
|
||
|
return;
|
||
|
}
|
||
|
$toggle.click();
|
||
|
return false;
|
||
|
case 80:
|
||
|
//p
|
||
|
if (!that.options.showPaginationSwitch) {
|
||
|
return;
|
||
|
}
|
||
|
$paginationSwitch.click();
|
||
|
return false;
|
||
|
case 37:
|
||
|
// left
|
||
|
if (!that.options.pagination) {
|
||
|
return;
|
||
|
}
|
||
|
that.prevPage();
|
||
|
return false;
|
||
|
case 39:
|
||
|
// right
|
||
|
if (!that.options.pagination) {
|
||
|
return;
|
||
|
}
|
||
|
that.nextPage();
|
||
|
return;
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
}(jQuery);
|
||
|
});
|