# jQuery UI API - 鼠標交互(Mouse Interaction)
## 所屬類別
[交互(Interactions)](ref-interactions.html) | [實用工具(Utilities)](ref-utilities.html)
## 用法
**描述:**基本交互層。
**依賴:**
* [部件庫(Widget Factory)](api-jQuery-widget.html)
**注釋:**與 [`jQuery.Widget`](api-jQuery-widget.html#jQuery-Widget2) 相似,鼠標交互的目的不是直接使用。這是一個純粹給其他小部件繼承用的基礎層。該頁面有添加到 `jQuery.Widget` 的文檔,但是它包含了不能被覆蓋的內部方法。公共的 API 是 [`_mouseStart()`](#method-_mouseStart)、[`_mouseDrag()`](#method-_mouseDrag)、[`_mouseStop()`](#method-_mouseStop) 和 [`_mouseCapture()`](#method-_mouseCapture)。
### 快速導航
| 選項 | 方法 | 事件 |
| --- | --- | --- |
| [cancel](#option-cancel)[delay](#option-delay)[distance](#option-distance) | [_mouseCapture](#method-_mouseCapture)[_mouseDelayMet](#method-_mouseDelayMet)[_mouseDestroy](#method-_mouseDestroy)[_mouseDistanceMet](#method-_mouseDistanceMet)[_mouseDown](#method-_mouseDown)[_mouseDrag](#method-_mouseDrag)[_mouseInit](#method-_mouseInit)[_mouseMove](#method-_mouseMove)[_mouseStart](#method-_mouseStart)[_mouseStop](#method-_mouseStop)[_mouseUp](#method-_mouseUp) |
#### cancel
**類型**:Selector
**描述**:防止從指定的元素上開始交互。
**代碼實例:**
初始化帶有指定 `cancel` 選項的 mouse:
```
$( ".selector" ).mouse({ cancel: ".title" });
```
在初始化后,獲取或設置 `cancel` 選項:
```
// getter
var cancel = $( ".selector" ).mouse( "option", "cancel" );
// setter
$( ".selector" ).mouse( "option", "cancel", ".title" );
```
**默認值**:"input, textarea, button, select, option"
#### delay
**類型**:Number
**描述**:鼠標按下后直至交互開始的事件,以毫秒計。該選項可用于防止點擊在一個元素上時不必要的交互。
**代碼實例:**
初始化帶有指定 `delay` 選項的 mouse:
```
$( ".selector" ).mouse({ delay: 300 });
```
在初始化后,獲取或設置 `delay` 選項:
```
// getter
var delay = $( ".selector" ).mouse( "option", "delay" );
// setter
$( ".selector" ).mouse( "option", "delay", 300 );
```
**默認值**:0
#### distance
**類型**:Number
**描述**:鼠標按下后交互開始前鼠標必須移動的距離,以像素計。該選項可用于防止點擊在一個元素上時不必要的交互。
**代碼實例:**
初始化帶有指定 `distance` 選項的 mouse:
```
$( ".selector" ).mouse({ distance: 10 });
```
在初始化后,獲取或設置 `distance` 選項:
```
// getter
var distance = $( ".selector" ).mouse( "option", "distance" );
// setter
$( ".selector" ).mouse( "option", "distance", 10 );
```
**默認值**:1
#### 方法
#### _mouseCapture()
**類型**:Boolean
**描述**:決定交互是否應該基于交互的事件目標開始。默認的實現總是返回 `true`。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseCapture 方法:
```
$( ".selector" ).mouse( "_mouseCapture" );
```
#### _mouseDelayMet()
**類型**:Boolean
**描述**:決定 `[delay](#option-delay)` 選項是否滿足當前交互。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseDelayMet 方法:
```
$( ".selector" ).mouse( "_mouseDelayMet" );
```
#### _mouseDestroy()
**類型**:jQuery (plugin only)
**描述**:銷毀交互事件處理程序。這必須調用來自擴展的小部件的 `_destroy()` 方法。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseDestroy 方法:
```
$( ".selector" ).mouse( "_mouseDestroy" );
```
#### _mouseDistanceMet()
**類型**:Boolean
**描述**:決定 `[distance](#option-distance)` 選項是否滿足當前交互。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseDistanceMet 方法:
```
$( ".selector" ).mouse( "_mouseDistanceMet" );
```
#### _mouseDown()
**類型**:jQuery (plugin only)
**描述**:處理交互的開始。確認與主要的鼠標按鈕關聯的事件,確保 `[delay](#option-delay)` 與 `[distance](#option-distance)` 在交互啟動之前得到滿足。當交互已經準備開始,為要處理的擴展小部件調用 `[_mouseStart](#method-_mouseStart)` 方法。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseDown 方法:
```
$( ".selector" ).mouse( "_mouseDown" );
```
#### _mouseDrag()
**類型**:jQuery (plugin only)
**描述**:擴展小部件應實現一個 `_mouseDrag()` 方法,來處理交互的每個移動。該方法將接收與鼠標移動相關聯的鼠標事件。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseDrag 方法:
```
$( ".selector" ).mouse( "_mouseDrag" );
```
#### _mouseInit()
**類型**:jQuery (plugin only)
**描述**:初始化交互事件處理程序。這必須調用來自擴展的小部件的 `_create()` 方法。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseInit 方法:
```
$( ".selector" ).mouse( "_mouseInit" );
```
#### _mouseMove()
**類型**:jQuery (plugin only)
**描述**:處理交互的每個移動。為要處理的擴展小部件調用 [_mouseDrag](#method-_mouseDrag) 方法。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseMove 方法:
```
$( ".selector" ).mouse( "_mouseMove" );
```
#### _mouseStart()
**類型**:jQuery (plugin only)
**描述**:擴展小部件應實現一個 `_mouseStart()` 方法,來處理交互的開始。該方法將接收與交互開始相關聯的鼠標事件。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseStart 方法:
```
$( ".selector" ).mouse( "_mouseStart" );
```
#### _mouseStop()
**類型**:jQuery (plugin only)
**描述**:擴展小部件應實現一個 `_mouseStop()` 方法,來處理交互的結束。該方法將接收與交互結束相關聯的鼠標事件。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseStop 方法:
```
$( ".selector" ).mouse( "_mouseStop" );
```
#### _mouseUp()
**類型**:jQuery (plugin only)
**描述**:處理交互的結束。為要處理的擴展小部件調用 [_mouseStop](#method-_mouseStop) 方法。
* 該方法不接受任何參數。
**代碼實例:**
調用 _mouseUp 方法:
```
$( ".selector" ).mouse( "_mouseUp" );
```
- jQuery UI 基礎
- jQuery UI 簡介
- jQuery UI 下載
- jQuery UI 使用
- jQuery UI 定制
- jQuery UI 工作原理
- jQuery UI 主題
- jQuery UI 主題
- jQuery UI ThemeRoller
- jQuery UI CSS 框架 API
- jQuery UI 設計主題
- jQuery UI 部件庫
- jQuery UI 部件庫(Widget Factory)
- jQuery UI 通過部件庫(Widget Factory)擴展小部件
- jQuery UI 小部件(Widget)方法調用
- jQuery UI 為什么使用部件庫(Widget Factory)
- jQuery UI 如何使用部件庫(Widget Factory)
- jQuery UI 實例
- jQuery UI 實例
- jQuery UI 實例 - 拖動(Draggable)
- jQuery UI 實例 - 放置(Droppable)
- jQuery UI 實例 - 縮放(Resizable)
- jQuery UI 實例 - 選擇(Selectable)
- jQuery UI 實例 - 排序(Sortable)
- jQuery UI 實例 - 折疊面板(Accordion)
- jQuery UI 實例 - 自動完成(Autocomplete)
- jQuery UI 實例 - 按鈕(Button)
- jQuery UI 實例 - 日期選擇器(Datepicker)
- jQuery UI 實例 - 對話框(Dialog)
- jQuery UI 實例 - 菜單(Menu)
- jQuery UI 實例 - 進度條(Progressbar)
- jQuery UI 實例 - 滑塊(Slider)
- jQuery UI 實例 - 旋轉器(Spinner)
- jQuery UI 實例 - 標簽頁(Tabs)
- jQuery UI 實例 - 工具提示框(Tooltip)
- jQuery UI 實例 - 特效(Effect)
- jQuery UI 實例 - 顯示(Show)
- jQuery UI 實例 - 隱藏(Hide)
- jQuery UI 實例 - 切換(Toggle)
- jQuery UI 實例 - 添加 Class(Add Class)
- jQuery UI 實例 - 移除 Class(Remove Class)
- jQuery UI 實例 - 切換 Class(Toggle Class)
- jQuery UI 實例 - 轉換 Class(Switch Class)
- jQuery UI 實例 - 顏色動畫(Color Animation)
- jQuery UI 實例 - 定位(Position)
- jQuery UI 實例 - 部件庫(Widget Factory)
- jQuery UI API 參考
- jQuery UI API 類別 - 特效(Effects)
- jQuery UI API - .addClass()
- jQuery UI API - 百葉窗特效(Blind Effect)
- jQuery UI API - 反彈特效(Bounce Effect)
- jQuery UI API - 剪輯特效(Clip Effect)
- jQuery UI API - 顏色動畫(Color Animation)
- jQuery UI API - 降落特效(Drop Effect)
- jQuery UI API - Easings
- jQuery UI API - .effect()
- jQuery UI API - 爆炸特效(Explode Effect)
- jQuery UI API - 淡入淡出特效(Fade Effect)
- jQuery UI API - 折疊特效(Fold Effect)
- jQuery UI API - .hide()
- jQuery UI API - 突出特效(Highlight Effect)
- jQuery UI API - 膨脹特效(Puff Effect)
- jQuery UI API - 跳動特效(Pulsate Effect)
- jQuery UI API - .removeClass()
- jQuery UI API - 縮放特效(Scale Effect)
- jQuery UI API - 震動特效(Shake Effect)
- jQuery UI API - .show()
- jQuery UI API - 尺寸特效(Size Effect)
- jQuery UI API - 滑動特效(Slide Effect)
- jQuery UI API - .switchClass()
- jQuery UI API - .toggle()
- jQuery UI API - .toggleClass()
- jQuery UI API - 轉移特效(Transfer Effect)
- jQuery UI API 類別 - 特效核心(Effects Core)
- jQuery UI API - 顏色動畫(Color Animation)
- jQuery UI API 類別 - 交互(Interactions)
- jQuery UI API - 可拖拽小部件(Draggable Widget)
- jQuery UI API - 可放置小部件(Droppable Widget)
- jQuery UI API - 鼠標交互(Mouse Interaction)
- jQuery UI API - 可調整尺寸小部件(Resizable Widget)
- jQuery UI API - 可選擇小部件(Selectable Widget)
- jQuery UI API - 可排序小部件(Sortable Widget)
- jQuery UI API 類別 - 方法重載(Method Overrides)
- jQuery UI API - .focus()
- jQuery UI API - .position()
- jQuery UI API 類別 - 方法(Methods)
- jQuery UI API - .disableSelection()
- jQuery UI API - .enableSelection()
- jQuery UI API - .removeUniqueId()
- jQuery UI API - .scrollParent()
- jQuery UI API - .uniqueId()
- jQuery UI API - .zIndex()
- jQuery UI API 類別 - 選擇器(Selectors)
- jQuery UI API - :data() Selector
- jQuery UI API - :focusable Selector
- jQuery UI API - :tabbable Selector
- jQuery UI API 類別 - 主題(Theming)
- jQuery UI API - CSS 框架(CSS Framework)
- jQuery UI API - 圖標(Icons)
- jQuery UI API - 堆疊元素(Stacking Elements)
- jQuery UI API 類別 - UI 核心(UI Core)
- jQuery UI API 類別 - 實用工具(Utilities)
- jQuery UI API - 部件庫(Widget Factory)
- jQuery UI API - 插件橋(Widget Plugin Bridge)
- jQuery UI API 類別 - 小部件(Widgets)
- jQuery UI API - 折疊面板部件(Accordion Widget)
- jQuery UI API - 自動完成部件(Autocomplete Widget)
- jQuery UI API - 按鈕部件(Button Widget)
- jQuery UI API - 日期選擇器部件(Datepicker Widget)
- jQuery UI API - 對話框部件(Dialog Widget)
- jQuery UI API - 菜單部件(Menu Widget)
- jQuery UI API - 進度條部件(Progressbar Widget)
- jQuery UI API - 滑塊部件(Slider Widget)
- jQuery UI API - 旋轉器部件(Spinner Widget)
- jQuery UI API - 標簽頁部件(Tabs Widget)
- jQuery UI API - 工具提示框部件(Tooltip Widget)
- jQuery EasyUI 簡介
- jQuery EasyUI 應用
- jQuery EasyUI 應用 - 創建 CRUD 應用
- jQuery EasyUI 應用 - 創建 CRUD 數據網格(DataGrid)
- jQuery EasyUI 應用 - 創建展開行明細編輯表單的 CRUD 應用
- jQuery EasyUI 應用 - 創建 RSS Feed 閱讀器
- jQuery EasyUI 拖放
- jQuery EasyUI 拖放 - 基本的拖動和放置
- jQuery EasyUI 拖放 - 創建拖放的購物車
- jQuery EasyUI 拖放 - 創建學校課程表
- jQuery EasyUI 菜單與按鈕
- jQuery EasyUI 菜單與按鈕 - 創建簡單的菜單
- jQuery EasyUI 菜單與按鈕 - 創建鏈接按鈕(Link Button)
- jQuery EasyUI 菜單與按鈕 - 創建菜單按鈕(Menu Button)
- jQuery EasyUI 菜單與按鈕 - 創建分割按鈕(Split Button)
- jQuery EasyUI 布局
- jQuery EasyUI 布局 - 為網頁創建邊框布局
- jQuery EasyUI 布局 - 在面板中創建復雜布局
- jQuery EasyUI 布局 - 創建折疊面板
- jQuery EasyUI 布局 - 創建標簽頁(Tabs)
- jQuery EasyUI 布局 - 動態添加標簽頁(Tabs)
- jQuery EasyUI 布局 - 添加自動播放標簽頁(Tabs)
- jQuery EasyUI 布局 - 創建 XP 風格左側面板
- jQuery EasyUI 數據網格
- jQuery EasyUI 數據網格 - 轉換 HTML 表格為數據網格
- jQuery EasyUI 數據網格 - 取得選中行數據
- jQuery EasyUI 數據網格 - 添加查詢功能
- jQuery EasyUI 數據網格 - 添加工具欄
- jQuery EasyUI 數據網格 - 創建復雜工具欄
- jQuery EasyUI 數據網格 - 設置凍結列
- jQuery EasyUI 數據網格 - 動態改變列
- jQuery EasyUI 數據網格 - 格式化列
- jQuery EasyUI 數據網格 - 設置排序
- jQuery EasyUI 數據網格 - 自定義排序
- jQuery EasyUI 數據網格 - 創建列組合
- jQuery EasyUI 數據網格 - 添加復選框
- jQuery EasyUI 數據網格 - 自定義分頁
- jQuery EasyUI 數據網格 - 啟用行內編輯
- jQuery EasyUI 數據網格 - 擴展編輯器
- jQuery EasyUI 數據網格 - 列運算
- jQuery EasyUI 數據網格 - 合并單元格
- jQuery EasyUI 數據網格 - 創建自定義視圖
- jQuery EasyUI 數據網格 - 創建頁腳摘要
- jQuery EasyUI 數據網格 - 條件設置行背景顏色
- jQuery EasyUI 數據網格 - 創建屬性網格
- jQuery EasyUI 數據網格 - 擴展行顯示細節
- jQuery EasyUI 數據網格 - 創建子網格
- jQuery EasyUI 數據網格 - 使用虛擬滾動視圖顯示海量數據
- jQuery EasyUI 數據網格 - 添加分頁組件
- jQuery EasyUI 窗口
- jQuery EasyUI 窗口 - 創建簡單窗口
- jQuery EasyUI 窗口 - 自定義窗口工具欄
- jQuery EasyUI 窗口 - 窗口與布局
- jQuery EasyUI 窗口 - 創建對話框
- jQuery EasyUI 窗口 - 自定義帶有工具條和按鈕的對話框
- jQuery EasyUI 樹形菜單
- jQuery EasyUI 樹形菜單 - 使用標記創建樹形菜單
- jQuery EasyUI 樹形菜單 - 創建異步樹形菜單
- jQuery EasyUI 樹形菜單 - 樹形菜單添加節點
- jQuery EasyUI 樹形菜單 - 創建帶復選框的樹形菜單
- jQuery EasyUI 樹形菜單 - 樹形菜單拖放控制
- jQuery EasyUI 樹形菜單 - 樹形菜單加載父/子節點
- jQuery EasyUI 樹形菜單 - 創建基礎樹形網格
- jQuery EasyUI 樹形菜單 - 創建復雜樹形網格
- jQuery EasyUI 樹形菜單 - 樹形網格動態加載
- jQuery EasyUI 樹形菜單 - 樹形網格添加分頁
- jQuery EasyUI 樹形菜單 - 樹形網格惰性加載節點
- jQuery EasyUI 表單
- jQuery EasyUI 表單 - 創建異步提交表單
- jQuery EasyUI 表單 - 表單驗證
- jQuery EasyUI 表單 - 創建樹形下拉框
- jQuery EasyUI 表單 - 格式化下拉框
- jQuery EasyUI 表單 - 過濾下拉數據網格
- jQuery EasyUI 插件
- jQuery EasyUI 擴展
- 免責聲明