欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

EXTJS7實現點擊拖拉選擇文本

 更新時間:2020年12月17日 12:07:37   作者:路過君_P  
這篇文章主要為大家詳細介紹了EXTJS7實現點擊拖拉選擇文本,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了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中常用的六種互動方法示例

    JavaScript中常用的六種互動方法示例

    這篇文章主要介紹了JavaScript中常用的六種互動方法示例,是個人的一些經驗總結,這里分享給大家,希望對大家能夠有所幫助。
    2015-03-03
  • 多個表單中如何獲得這個文件上傳的網址實現js代碼

    多個表單中如何獲得這個文件上傳的網址實現js代碼

    假設一個網頁里有多個表單,其中一個表單里有文件上傳,問題是如何獲得這個文件上傳的網址呢,接下來為大家介紹下實現的js代碼,感興趣的朋友可以參考下哈,希望可以幫助到你
    2013-03-03
  • js監(jiān)聽元素是否出現在可視區(qū)域詳解(IntersectionObserver)

    js監(jiān)聽元素是否出現在可視區(qū)域詳解(IntersectionObserver)

    這篇文章主要給大家介紹了關于js監(jiān)聽元素是否出現在可視區(qū)域(IntersectionObserver)的相關資料, IntersectionObserver是一個JavaScript API,用于監(jiān)測一個元素與其父元素或視窗的交叉狀態(tài),需要的朋友可以參考下
    2024-06-06
  • javascript基于原型鏈的繼承及call和apply函數用法分析

    javascript基于原型鏈的繼承及call和apply函數用法分析

    這篇文章主要介紹了javascript基于原型鏈的繼承及call和apply函數用法,結合實例形式較為詳細的分析了javascript中繼承的概念、創(chuàng)建方法以及call和apply函數的功能與使用技巧,需要的朋友可以參考下
    2016-12-12
  • 擁Bootstrap入懷——導航欄篇

    擁Bootstrap入懷——導航欄篇

    擁Bootstrap入懷 導航欄篇,和大家一起走進Bootstrap,了解Bootstrap的導航欄,感興趣的小伙伴們可以參考一下
    2016-05-05
  • 8 行 Node.js 代碼實現代理服務器

    8 行 Node.js 代碼實現代理服務器

    JavaScript 前后端通吃,在全棧開發(fā)領域具有獨特的優(yōu)勢。今天就來看看作為服務端語言的 JavaScript,完成一個簡單的代理服務器功能是多么容易。
    2016-12-12
  • 谷歌Chrome瀏覽器擴展程序開發(fā)小記

    谷歌Chrome瀏覽器擴展程序開發(fā)小記

    本文給大家記錄的是一次谷歌Chrome瀏覽器擴展程序的開發(fā)過程,非常的細致,有類似開發(fā)念頭的小伙伴們可以來參考下
    2016-01-01
  • js中Image對象以及對其預加載處理示例

    js中Image對象以及對其預加載處理示例

    現在的網頁中經常會有一些圖像連接,當鼠標指向它的時候,圖像換成另外一幅圖像,它們都是先預讀圖像的,下面也有個不錯的實例,感興趣的朋友可以參考下
    2013-11-11
  • JavaScript設計模式之單體模式全面解析

    JavaScript設計模式之單體模式全面解析

    單體模式可以說是javascript中最基本也是最有用的模式之一,接下來通過本文給大家解析js設計模式之單體模式,非常不錯,感興趣的朋友一起看看吧
    2016-09-09
  • JavaScript實現一個簡易的計算器實例代碼

    JavaScript實現一個簡易的計算器實例代碼

    這篇文章主要介紹了JavaScript實現一個簡易的計算器實例代碼,具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧
    2018-05-05

最新評論