From 602dd4844cda4d3538a415ffd001bf7bfb9ab044 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=A0=E6=95=8F?= <cookfront@gmail.com>
Date: Thu, 6 Jul 2017 10:02:09 +0800
Subject: [PATCH] =?UTF-8?q?src/utils=E7=9B=AE=E5=BD=95=E6=94=AF=E6=8C=81SS?=
 =?UTF-8?q?R=20(#51)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 docs/examples-dist/steps.vue | 16 ++++++++++++++++
 src/utils/clickoutside.js    |  6 ++++--
 src/utils/dom.js             |  7 +++++--
 3 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/docs/examples-dist/steps.vue b/docs/examples-dist/steps.vue
index e2317d29d..735c128fb 100644
--- a/docs/examples-dist/steps.vue
+++ b/docs/examples-dist/steps.vue
@@ -18,6 +18,22 @@
   <van-step>交易完成</van-step>
 </van-steps>
 
+              </example-block><example-block title="只显示步骤条">
+                <van-steps direction="vertical" :active="0" active-color="#f60">
+  <van-step>
+    <h3>【城市】最新的物流状态之类的表述哈哈哈哈</h3>
+    <p>2016-07-12 12:12:12</p>
+  </van-step>
+  <van-step>
+    <h3>【城市】已经过了的物流状态我是折行我是折行我是折行联系电话:158630099999</h3>
+    <p>2016-07-12 12:12:12</p>
+  </van-step>
+  <van-step>
+    <h3>未发货</h3>
+    <p>2016-07-12 12:12:12</p>
+  </van-step>
+</van-steps>
+
               </example-block><example-block title="高级用法">
                 <van-steps :active="active" title="等待商家发货">
   <van-icon slot="icon" name="like"></van-icon>
diff --git a/src/utils/clickoutside.js b/src/utils/clickoutside.js
index db5e6a871..28c8f36a9 100644
--- a/src/utils/clickoutside.js
+++ b/src/utils/clickoutside.js
@@ -6,6 +6,8 @@
  * <div v-clickoutside="handleClose">
  * ```
  */
+import Vue from 'vue';
+const isServer = Vue.prototype.$isServer;
 const clickoutsideContext = '@@clickoutsideContext';
 
 export default {
@@ -20,7 +22,7 @@ export default {
       methodName: binding.expression,
       arg: binding.arg || 'click'
     };
-    document.addEventListener(el[clickoutsideContext].arg, documentHandler);
+    !isServer && document.addEventListener(el[clickoutsideContext].arg, documentHandler);
   },
 
   update(el, binding) {
@@ -28,7 +30,7 @@ export default {
   },
 
   unbind(el) {
-    document.removeEventListener(
+    !isServer && document.removeEventListener(
       el[clickoutsideContext].arg,
       el[clickoutsideContext].documentHandler);
   },
diff --git a/src/utils/dom.js b/src/utils/dom.js
index b5c2550a6..45f9e385b 100644
--- a/src/utils/dom.js
+++ b/src/utils/dom.js
@@ -1,3 +1,6 @@
+import Vue from 'vue';
+const isServer = Vue.prototype.$isServer;
+
 const trim = function(string) {
   return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, '');
 };
@@ -66,7 +69,7 @@ export const once = function(el, event, fn) {
 };
 
 export const on = (function() {
-  if (document.addEventListener) {
+  if (!isServer && document.addEventListener) {
     return function(element, event, handler) {
       if (element && event && handler) {
         element.addEventListener(event, handler, false);
@@ -82,7 +85,7 @@ export const on = (function() {
 })();
 
 export const off = (function() {
-  if (document.removeEventListener) {
+  if (!isServer && document.removeEventListener) {
     return function(element, event, handler) {
       if (element && event) {
         element.removeEventListener(event, handler, false);