diff --git a/README.md b/README.md
index b898bd9..bf18c05 100644
--- a/README.md
+++ b/README.md
@@ -94,12 +94,12 @@ data | [Page](#page)[] | []
debug | boolean | `false` | 是否开启调试模式
isVertical | boolean | `true` | 是否是垂直方向滑动
isLoop | boolean | `false` |是否开启循环翻页
-keepDefaultClass | string[] | [] | 保持默认行为的 class 名,详见[说明](#about-keepdefault)
+keepDefaultClasses | string[] | [] | 保持默认行为的 class 名,详见[说明](#about-keepdefault)
transition | [Transition](#transition) | `{name: 'slide', duration: 800}` | 翻页过渡动画,按照优先级取值,详见[优先级](#about-transition-priority)
-**关于 keepDefaultClass 说明**
+**关于 keepDefaultClasses 说明**
-为防止滑动事件中断,Swiper 默认阻止所有除了 `a`, `input`, `textarea`, `select` 以外的所有元素的滑动事件(mouseXXX, touchXXX)默认行为。但是在实际项目中,可能还有一些元素需要被排除在外(如微信中,长按图片会有识别二维码的响应,因此就需要将该图片的 className 放入该数组中)。因此 `keepDefaultClass` 就是一个 **要保持默认响应的元素 class 的白名单**。
+为防止滑动事件中断,Swiper 默认阻止所有除了 `a`, `input`, `textarea`, `select` 以外的所有元素的滑动事件(mouseXXX, touchXXX)默认行为。但是在实际项目中,可能还有一些元素需要被排除在外(如微信中,长按图片会有识别二维码的响应,因此就需要将该图片的 className 放入该数组中),加入到 keepDefaultClasses 的元素及其 **后代元素** 均会被排除在外。因此 `keepDefaultClasses` 就是一个 **要保持默认响应的元素 class 的白名单**。
**过渡效果优先级**
diff --git a/package.json b/package.json
index 778fe40..6ba6df9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "fex-swiper",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "a H5 swiper powered by FEX",
"main": "src/swiper.ts",
"repository": "http://github.com/fex-team/swiper",
diff --git a/src/swiper.ts b/src/swiper.ts
index e11e288..ea75098 100644
--- a/src/swiper.ts
+++ b/src/swiper.ts
@@ -185,9 +185,11 @@ export class Swiper {
}
let keepDefaultClasses = this.keepDefaultClasses;
- for (let keepDefaultClass of keepDefaultClasses){
- if (event.target.classList.contains(keepDefaultClass)) {
- return;
+ for (let keepDefaultClass of keepDefaultClasses) {
+ for (let e = event.target; e !== null; e = e.parentElement) {
+ if (e.classList.contains(keepDefaultClass)) {
+ return;
+ }
}
}