diff --git a/example/src/App.vue b/example/src/App.vue
index 451cba0c9f6b0e53ec4288fa375fbf47edb60cf8..9eb3485e5482dcce352df462063867fcedf60f16 100644
--- a/example/src/App.vue
+++ b/example/src/App.vue
@@ -248,6 +248,41 @@ import NumberCounter from "./components/NumberCounter.vue";
         </template>
       </drag-grid>
     </div>
+
+    <div class="ttt-container">
+      <div>
+        <h2>Example 6: Disabled grid</h2>
+        <p>
+          This uses the same data as the tic tac toe but is completely disabled.
+          Notice how the items still move if the tic tac toe grid above is
+          changed. Uncheck the checkbox to enable:
+        </p>
+
+        <label>
+          <input type="checkbox" v-model="gridDisabled" />
+          Grid disabled?
+        </label>
+
+        <drag-grid
+          v-model="ticTacToe1"
+          :cols="3"
+          :rows="3"
+          :disabled="gridDisabled"
+          class="tic-tac-toe"
+          context="ticTacToe"
+          :validate-element="randomKey"
+        >
+          <template #item="item">
+            <CircularCard>
+              {{ item.key.startsWith("a") ? "X" : "O" }}
+            </CircularCard>
+          </template>
+        </drag-grid>
+      </div>
+      <div>
+        <h2>Example 7: Disabled fields and items with props</h2>
+      </div>
+    </div>
   </div>
 </template>
 
@@ -419,6 +454,7 @@ export default {
         x: 4,
         y: 2,
       },
+      gridDisabled: true,
     };
   },
   computed: {
diff --git a/src/DragGrid.vue b/src/DragGrid.vue
index 02a4145ed9f50151c1a6b3a077f1390a9f77e080..44b5e40cfd71126d1d456b8bc9f7289b1aebd8d0 100644
--- a/src/DragGrid.vue
+++ b/src/DragGrid.vue
@@ -1,7 +1,7 @@
 <template>
   <div
-    @dragover.prevent="handleDragOver"
-    @drop.prevent="handleDrop"
+    @dragover.prevent="disabled ? undefined : handleDragOver($event)"
+    @drop.prevent="disabled ? undefined : handleDrop($event)"
     class="grid"
   >
     <div class="highlight-container" ref="highlightContainer">
@@ -20,6 +20,7 @@
       :data="getObject('data', item)"
       :context="context"
       :grid-id="gridId"
+      :disabled="disabled"
     >
       <slot v-bind="transformItem(item)" :raw-item="item" name="item">
         <dl>
@@ -86,6 +87,11 @@ export default {
       required: false,
       default: false,
     },
+    disabled: {
+      type: Boolean,
+      required: false,
+      default: false,
+    },
   },
   methods: {
     positionAllowed(x, y, key) {