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 相关文章推荐
javascript得到XML某节点的子节点个数的脚本
Oct 11 Javascript
js利用div背景,做一个竖线的效果。
Nov 22 Javascript
Jquery 组合form元素为json格式,asp.net反序列化
Jul 09 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
May 03 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
Dec 03 Javascript
JS截取字符串常用方法详细整理
Oct 28 Javascript
JQuery包裹DOM节点的方法
Jun 11 Javascript
JavaScript中setFullYear()方法的使用详解
Jun 11 Javascript
JS验证不重复验证码
Feb 10 Javascript
React Native实现地址挑选器功能
Oct 24 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
Mar 01 Javascript
jQuery中复合选择器简单用法示例
Mar 31 jQuery
原生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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
论建造顺序的重要性
2020/03/04 星际争霸
php下使用SimpleXML 处理XML 文件
2010/02/27 PHP
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
Bootstrap Table的使用总结
2016/10/08 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
利用jQuery解析获取JSON数据
2017/04/08 jQuery
微信小程序 滚动到某个位置添加class效果实现代码
2017/04/19 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
AngularJS $http post 传递参数数据的方法
2018/10/09 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python中ConfigParse模块的用法
2014/09/29 Python
详解Python中的array数组模块相关使用
2016/07/05 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
Python实现时间序列可视化的方法
2019/08/06 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
Python通过Tesseract库实现文字识别
2020/03/05 Python
python反爬虫方法的优缺点分析
2020/11/25 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
喜之郎果冻广告词
2014/03/20 职场文书
北京故宫导游词
2015/01/31 职场文书
教师党员个人总结
2015/02/10 职场文书
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技