Browse Source

searchbox

luoyifan 3 năm trước cách đây
mục cha
commit
ca438401f6
2 tập tin đã thay đổi với 17 bổ sung77 xóa
  1. 4 77
      src/controls/input/search.js
  2. 13 0
      src/utils.ts

+ 4 - 77
src/controls/input/search.js

@@ -1,7 +1,7 @@
 import _ from 'lodash'
 import {baseConfig} from "../base";
 import {search} from "../../Defaults";
-import {invokeMethod} from "../../utils";
+import {invokeMethod, stopEvent} from "../../utils";
 import {lookupScope} from "../../lib/lib";
 
 export default function () {
@@ -122,8 +122,7 @@ export default function () {
             const me = this
             const $dom = $(me.inputEl.dom)
             $dom.on('input', e => {
-                e.preventDefault()
-                e.stopPropagation()
+                stopEvent(e)
                 // console.log('has input', e)
             })
             $dom.on('keyup', e => {
@@ -131,14 +130,10 @@ export default function () {
                     me.onSearchClick(me, {}, e)
                     return
                 }
-                e.preventDefault()
-                e.stopPropagation()
-                // console.log('has keyup', e)
+                stopEvent(e)
             })
             $dom.on('change', e => {
-                e.preventDefault()
-                e.stopPropagation()
-                // console.log('has change', e)
+                stopEvent(e)
             })
         },
 
@@ -177,73 +172,5 @@ export default function () {
                 })
             }
         }
-
-        // getRawValue() {
-        //     var me = this,
-        //         v = (me.inputEl ? me.inputEl.getValue() : Ext.valueFrom(me.rawValue, ''));
-        //
-        //     me.rawValue = v;
-        //     return v;
-        // },
-        //
-        // setRawValue(value) {
-        //     console.log('setRawValue', value, rawValue)
-        //     var me = this,
-        //         rawValue = me.rawValue;
-        //
-        //     return
-        //     if (me.inputEl) {
-        //         me.inputEl.dom.value = value;
-        //     }
-        //
-        //     //
-        //     //
-        //     // if (!me.transformRawValue.$nullFn) {
-        //     //     value = me.transformRawValue(value);
-        //     // }
-        //     //
-        //     // value = Ext.valueFrom(value, '');
-        //     //
-        //     // if (rawValue === undefined || rawValue !== value) {
-        //     //     me.rawValue = value;
-        //     //
-        //     //     // Some Field subclasses may not render an inputEl
-        //     //     if (me.inputEl) {
-        //     //         me.bindChangeEvents(false);
-        //     //         me.inputEl.dom.value = value;
-        //     //         me.bindChangeEvents(true);
-        //     //     }
-        //     // }
-        //     //
-        //     // if (me.rendered && me.reference) {
-        //     //     me.publishState('rawValue', value);
-        //     // }
-        //
-        //     return value;
-        // },
-        //
-        // // onChange(newVal, oldVal, e1, e2, e3) {
-        // //     this._tmpVal = newVal
-        // //     console.log('onChange', this, newVal, oldVal, e1, e2, e3)
-        // // },
-        //
-        // // processRawValue(value, e1, e2, e3) {
-        // //     console.log('processRawValue', this, value, e1, e2, e3)
-        // //     return value + 'a'
-        // // },
-        //
-        // getValue: function () {
-        //     var me = this,
-        //         val = me.rawToValue(me.processRawValue(me.getRawValue()));
-        //     me.value = val;
-        //     return val;
-        // },
-        //
-        // setValue: function (value) {
-        //     var me = this;
-        //     me.setRawValue(me.valueToRaw(value));
-        //     return me.mixins.field.setValue.call(me, value);
-        // },
-        //
     });
 }

+ 13 - 0
src/utils.ts

@@ -6,3 +6,16 @@ export function invokeMethod(fn: any, sender: any, args: any) {
         fn.apply(sender, ...args)
     }
 }
+
+/**
+ * 停止事件的默认行为
+ * @param e
+ */
+export function stopEvent(e) {
+    e.preventDefault()
+    e.stopPropagation()
+    // @ts-ignore
+    window.event.cancelBubble = true
+    e.returnValue = false;
+    e.cancelBubble = true;
+}