UNPKG

tui-code-snippet

Version:
44 lines (37 loc) 1.15 kB
/** * @fileoverview Transform the Array-like object to Array. * @author NHN FE Development Lab <dl_javascript@nhn.com> */ 'use strict'; var off = require('../domEvent/off'); var preventDefault = require('../domEvent/preventDefault'); var getData = require('./getData'); var removeData = require('./removeData'); var testCSSProp = require('./_testCSSProp'); var SUPPORT_SELECTSTART = 'onselectstart' in document; var KEY_PREVIOUS_USER_SELECT = 'prevUserSelect'; var userSelectProperty = testCSSProp([ 'userSelect', 'WebkitUserSelect', 'OUserSelect', 'MozUserSelect', 'msUserSelect' ]); /** * Enable browser's text selection behaviors. * @param {HTMLElement} [el] - target element. if not supplied, use `document` * @memberof module:domUtil */ function enableTextSelection(el) { if (!el) { el = document; } if (SUPPORT_SELECTSTART) { off(el, 'selectstart', preventDefault); } else { el = (el === document) ? document.documentElement : el; el.style[userSelectProperty] = getData(el, KEY_PREVIOUS_USER_SELECT) || 'auto'; removeData(el, KEY_PREVIOUS_USER_SELECT); } } module.exports = enableTextSelection;