介绍
利用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怎么实现一个拖拉文本选择功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!