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判读浏览器是否支持html5的canvas的代码
Nov 18 Javascript
JavaScript利用append添加元素报错的解决方法
Jul 01 Javascript
js重写alert控件(适合学习js的新手朋友)
Aug 24 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
May 28 Javascript
JavaScript中Array的实用操作技巧分享
Sep 11 Javascript
Vue中父组件向子组件通信的方法
Jul 11 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
Mar 28 Javascript
微信小程序如何使用canvas二维码保存至手机相册
Jul 15 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 jQuery
vue之组件内监控$store中定义变量的变化详解
Nov 08 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
Apr 09 Javascript
Vue this.$router.push(参数)实现页面跳转操作
Sep 09 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
DOM XPATH获取img src值的query
2013/09/23 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
php中fsockopen用法实例
2015/01/05 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
element ui table(表格)实现点击一行展开功能
2018/12/04 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
python 中如何获取列表的索引
2019/07/02 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
python实现数字炸弹游戏程序
2020/07/17 Python
python 从list中随机取值的方法
2020/11/16 Python
《陶罐和铁罐》教学反思
2014/02/19 职场文书
班级文化建设标语
2014/06/23 职场文书
田径运动会通讯稿
2014/09/13 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
2014年教学工作总结
2014/11/13 职场文书
悬空寺导游词
2015/02/05 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
2015年暑假生活总结
2015/07/13 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
vue 自定义组件添加原生事件
2022/04/21 Vue.js