EXTJS7实现点击拖拉选择文本


Posted in Javascript onDecember 17, 2020

本文实例为大家分享了EXTJS7实现点击拖拉选择文本的具体代码,供大家参考,具体内容如下

默认情况下,用户无法通过点击拖拉选择界面上的文本

解决方案

Ext.Component组件可以使用userSelectable配置项,设置为‘text',即可实现此组件中文本的点选
注意:如果设置为true,等效于设置样式 user-select: auto; ,将根据浏览器默认属性进行选择
{
 xtype: 'grid',
 userSelectable: 'text'
}

也可以传入对象设置子元素的样式

userSelectable: {
 element: true,  // allow the element to be user selectable
 bodyElement: true // allow the component's body element to be user selectable
}

非Ext.Component组件可以使用userCls配置项,添加 Ext.baseCSSPrefix + ‘user-selectable-text' 样式类

{
 xtype: 'grid',
 columns: [{
 cell: { userCls: Ext.baseCSSPrefix + 'user-selectable-text' }
 }]
}

源码解析

Ext.define('Ext.Component', {
 // userSelectable 各属性值对应的样式类
 userSelectableClsMap: {
  true: Ext.baseCSSPrefix + 'user-selectable-auto',
  false: Ext.baseCSSPrefix + 'user-selectable-none',
  all: Ext.baseCSSPrefix + 'user-selectable-all',
  auto: Ext.baseCSSPrefix + 'user-selectable-auto',
  text: Ext.baseCSSPrefix + 'user-selectable-text',
  none: Ext.baseCSSPrefix + 'user-selectable-none'
 },
 updateUserSelectable: function(newSelectable, oldSelectable) {
  var me = this,
   map = me.userSelectableClsMap,
   el = me.el,
   name, childEl;
 
  if (typeof oldSelectable === 'boolean' || typeof oldSelectable === 'string') {
   el.removeCls(map[oldSelectable]);
  }
  else {
   for (name in oldSelectable) {
    childEl = me[name];
 
    //<debug>
    if (!childEl || !childEl.isElement) {
     Ext.raise('Element not found: "' + name + '"');
    }
    //</debug>
 
    childEl.removeCls(map[oldSelectable[name]]);
   }
  }
 
  if (typeof newSelectable === 'boolean' || typeof newSelectable === 'string') {
   // 如果传入为布尔或字符串,直接添加对应的样式类
   el.addCls(map[newSelectable]);
  }
  else {
   // 如果传入的是对象,则根据对象属性分别给子元素添加样式类
   for (name in newSelectable) {
    childEl = me[name];
 
    //<debug>
    if (!childEl || !childEl.isElement) {
     Ext.raise('Element not found: "' + name + '"');
    }
    //</debug>
 
    childEl.addCls(map[newSelectable[name]]);
   }
  }
 },
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
很多人都是用下面的js刷新站IP和PV
Sep 05 Javascript
jQuery 获取对象 定位子对象
May 31 Javascript
js中replace的用法总结
Dec 27 Javascript
详谈LABJS按需动态加载js文件
May 07 Javascript
Javascript实现Array和String互转换的方法
Dec 21 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
May 10 Javascript
浅谈如何通过node.js对数据进行MD5加密
May 16 Javascript
React Native基础入门之初步使用Flexbox布局
Jul 02 Javascript
node.js实现简单的压缩/解压缩功能示例
Nov 05 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
Mar 07 Javascript
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 Javascript
vue组件开发之tab切换组件使用详解
Aug 21 Javascript
原生js实现移动小球(碰撞检测)
Dec 17 #Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
Dec 17 #Vue.js
Taro小程序自定义顶部导航栏功能的实现
Dec 17 #Javascript
vue 数据操作相关总结
Dec 17 #Vue.js
Vue 组件注册全解析
Dec 17 #Vue.js
js回到页面指定位置的三种方式
Dec 17 #Javascript
javascript 数组(list)添加/删除的实现
Dec 17 #Javascript
You might like
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
不错的JS中变量相关的细节分析
2007/08/13 Javascript
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
全面分析Python的优点和缺点
2018/02/07 Python
详解Python中where()函数的用法
2018/03/27 Python
详解Python中的四种队列
2018/05/21 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
优秀士兵个人事迹材料
2014/01/19 职场文书
教师个人自我评价范文
2014/04/13 职场文书
志愿者活动总结范文
2014/04/26 职场文书
借款担保书范文
2014/05/13 职场文书
欢度春节标语
2014/07/01 职场文书
先进党支部申报材料
2014/12/24 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
微软PC Health Check电脑健康状况检查应用下载(Win11配置检测工具)
2021/06/26 数码科技