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可突破windows弹退效果代码
Aug 09 Javascript
jquery中常用的SET和GET
Jan 13 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
Aug 18 Javascript
node.js中的http.response.getHeader方法使用说明
Dec 14 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
Jun 24 Javascript
Vue.JS入门教程之列表渲染
Dec 01 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
Mar 24 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
May 30 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
Apr 25 Javascript
微信小程序日历插件代码实例
Dec 04 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 jQuery
vue-cli 关闭热更新操作
Sep 18 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 header函数分析详解
2011/08/06 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
javascript使用activex控件的代码
2011/01/27 Javascript
js 创建书签小工具之理论
2011/02/25 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
基于树莓派的语音对话机器人
2019/06/17 Python
对Django外键关系的描述
2019/07/26 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
python定义类self用法实例解析
2020/01/22 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
2014年乡镇植树节活动方案
2014/02/28 职场文书
财务内勤岗位职责
2014/04/17 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
长征观后感
2015/06/09 职场文书
运动会报道稿大全
2015/07/23 职场文书
《所见》教学反思
2016/02/23 职场文书
python实现监听键盘
2021/04/26 Python
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL