# 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 扩展
- 免责声明