Separate env helpers.

This commit is contained in:
Hyunje Alex Jun 2015-01-24 15:15:42 +00:00
parent aa58a8298e
commit bbab2a3c53
2 changed files with 9 additions and 8 deletions

View File

@ -13,8 +13,6 @@ exports.toInt = function (x) {
}
};
exports.isWebKit = 'WebkitAppearance' in document.documentElement.style;
exports.clone = function (obj) {
if (obj === null) {
return null;
@ -43,3 +41,9 @@ exports.isEditable = function (el) {
d.matches(el, "textarea,[contenteditable]") ||
d.matches(el, "button,[contenteditable]");
};
exports.env = {
isWebKit: 'WebkitAppearance' in document.documentElement.style,
supportsTouch: (('ontouchstart' in window) || window.DocumentTouch && document instanceof window.DocumentTouch),
supportsIePointer: window.navigator.msMaxTouchPoints !== null
};

View File

@ -349,7 +349,7 @@ module.exports = function (element, settingOrCommand) {
// FIXME: this is a quick fix for the select problem in FF and IE.
// If there comes an effective way to deal with the problem,
// this lines should be removed.
if (!h.isWebKit && element.querySelector('select:focus')) {
if (!h.env.isWebKit && element.querySelector('select:focus')) {
return;
}
@ -769,9 +769,6 @@ module.exports = function (element, settingOrCommand) {
isPluginAlive = false;
}
var supportsTouch = (('ontouchstart' in window) || window.DocumentTouch && document instanceof window.DocumentTouch);
var supportsIePointer = window.navigator.msMaxTouchPoints !== null;
function initialize() {
updateGeometry();
bindScrollHandler();
@ -781,8 +778,8 @@ module.exports = function (element, settingOrCommand) {
bindSelectionHandler();
bindMouseWheelHandler();
if (supportsTouch || supportsIePointer) {
bindTouchHandler(supportsTouch, supportsIePointer);
if (h.env.supportsTouch || h.env.supportsIePointer) {
bindTouchHandler(h.env.supportsTouch, h.env.supportsIePointer);
}
if (settings.useKeyboard) {
bindKeyboardHandler();