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 相关文章推荐
jQuery去掉字符串起始和结尾的空格(多种方法实现)
Apr 01 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
May 12 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
Aug 22 Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 Javascript
js过滤HTML标签完整实例
Nov 26 Javascript
jquery实现两边飘浮可关闭的对联广告
Nov 27 Javascript
谈谈因Vue.js引发关于getter和setter的思考
Dec 02 Javascript
C#微信小程序服务端获取用户解密信息实例代码
Mar 10 Javascript
JavaScript生成指定范围随机数和随机序列的方法
May 05 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
May 26 Javascript
序列化模块json代码实例详解
Mar 03 Javascript
jquery实现两个div中的元素相互拖动的方法分析
Apr 05 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
第十四节 命名空间 [14]
2006/10/09 PHP
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
php对称加密算法示例
2014/05/07 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
JS遍历Json字符串中键值对先转成JSON对象再遍历
2014/08/15 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
js对字符串进行编码的方法总结(推荐)
2016/11/10 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
python调用Delphi写的Dll代码示例
2017/12/05 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
python实现高斯投影正反算方式
2020/01/17 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
python如何支持并发方法详解
2020/07/25 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
微型企业创业投资计划书
2014/01/10 职场文书
如何写股份合作协议书
2014/09/11 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
工伤事故证明
2014/10/20 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
医学会议开幕词
2016/03/03 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang