利用EXTJS7怎么实现一个拖拉文本选择功能

  介绍

利用EXTJS7怎么实现一个拖拉文本选择功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>解决方案

Ext.Component组件可以使用userSelectable配置项,设置为“文本# 39;,即可实现此组件中文本的点选   注意:如果设置为真的,等效于设置样式,用户选择:,汽车;,,将根据浏览器默认属性进行选择   {   ,xtype: & # 39;网格# 39;   ,userSelectable: & # 39;文本# 39;   }

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

userSelectable:, {   ,元素:真的,,,//,allow 从而element 用be  user 可选择的   ,bodyElement: true //, allow 从而组件# 39;s  body  element 用be  user 可选择的   }

非Ext。组件组件可以使用userCls配置项,添加Ext.baseCSSPrefix + ' user-selectable-text& # 39;样式类

{   ,xtype: & # 39;网格# 39;   ,列:[{   ,细胞:{,userCls: Ext.baseCSSPrefix  +, & # 39; user-selectable-text& # 39;,}   ,}]   }

<>强源码解析

Ext.define (& # 39; Ext.Component& # 39;,, {   ,//userSelectable 各属性值对应的样式类   ,userSelectableClsMap: {   真正的才能:Ext.baseCSSPrefix  +, & # 39; user-selectable-auto& # 39;   ,,错误的:Ext.baseCSSPrefix  +, & # 39; user-selectable-none& # 39;   ,,:Ext.baseCSSPrefix  +, & # 39; user-selectable-all& # 39;   ,,汽车:Ext.baseCSSPrefix  +, & # 39; user-selectable-auto& # 39;   ,,文字:Ext.baseCSSPrefix  +, & # 39; user-selectable-text& # 39;   ,,没有:Ext.baseCSSPrefix  +, & # 39; user-selectable-none& # 39;   },   ,updateUserSelectable:函数(newSelectable, oldSelectable), {   var 才能;me =,,   ,,map =, me.userSelectableClsMap,   ,,el =, me.el,   ,,,的名字,childEl;   ,   if 才能;(typeof  oldSelectable ===, & # 39;布尔# 39;,| |,typeof  oldSelectable ===, & # 39;字符串# 39;),{   ,,el.removeCls (map [oldSelectable]);   ,,}   else {才能   ,,for  (name  oldSelectable拷贝),{   ,,,childEl =,我[名字];   ,   ,,,//& lt; debug>   ,,,if  (! childEl  | |, ! childEl.isElement), {   ,,,,Ext.raise (& # 39; Element  not 发现:,“& # 39;,+,name  +, & # 39;“& # 39;);   ,,,}   ,,,//& lt;/debug>   ,   ,,,childEl.removeCls (map [oldSelectable[名字]]);   ,,}   ,,}   ,   if 才能;(typeof  newSelectable ===, & # 39;布尔# 39;,| |,typeof  newSelectable ===, & # 39;字符串# 39;),{   ,,//,如果传入为布尔或字符串,直接添加对应的样式类   ,,el.addCls (map [newSelectable]);   ,,}   else {才能   ,,//,如果传入的是对象,则根据对象属性分别给子元素添加样式类   ,,for  (name  newSelectable拷贝),{   ,,,childEl =,我[名字];   ,   ,,,//& lt; debug>   ,,,if  (! childEl  | |, ! childEl.isElement), {   ,,,,Ext.raise (& # 39; Element  not 发现:,“& # 39;,+,name  +, & # 39;“& # 39;);   ,,,}   ,,,//& lt;/debug>   ,   ,,,childEl.addCls (map [newSelectable[名字]]);   ,,}   ,,}   },   });

看完上述内容,你们掌握利用EXTJS7怎么实现一个拖拉文本选择功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

利用EXTJS7怎么实现一个拖拉文本选择功能